[libbtm-java] 01/12: Imported Upstream version 2.1.2
Markus Koschany
apo at moszumanska.debian.org
Fri Aug 26 00:13:22 UTC 2016
This is an automated email from the git hooks/post-receive script.
apo pushed a commit to branch master
in repository libbtm-java.
commit d67e331895e9cf2b6c6521cc5d2278ba02771aac
Author: Markus Koschany <apo at debian.org>
Date: Thu Aug 25 22:24:17 2016 +0200
Imported Upstream version 2.1.2
---
build.properties | 4 +
build.xml | 98 +
doc/api/allclasses-frame.html | 296 ++
doc/api/allclasses-noframe.html | 296 ++
doc/api/bitronix/tm/BitronixTransaction.html | 812 +++++
doc/api/bitronix/tm/BitronixTransactionMBean.html | 294 ++
.../bitronix/tm/BitronixTransactionManager.html | 679 ++++
.../BitronixTransactionManagerObjectFactory.html | 284 ++
...BitronixTransactionSynchronizationRegistry.html | 426 +++
...actionSynchronizationRegistryObjectFactory.html | 281 ++
.../tm/BitronixUserTransactionObjectFactory.html | 247 ++
doc/api/bitronix/tm/BitronixXid.html | 517 +++
doc/api/bitronix/tm/Configuration.html | 1431 ++++++++
.../bitronix/tm/TransactionManagerServices.html | 486 +++
doc/api/bitronix/tm/Version.html | 253 ++
.../bitronix/tm/class-use/BitronixTransaction.html | 361 ++
.../tm/class-use/BitronixTransactionMBean.html | 182 +
.../tm/class-use/BitronixTransactionManager.html | 182 +
.../BitronixTransactionManagerObjectFactory.html | 182 +
...BitronixTransactionSynchronizationRegistry.html | 182 +
...actionSynchronizationRegistryObjectFactory.html | 145 +
.../BitronixUserTransactionObjectFactory.html | 145 +
doc/api/bitronix/tm/class-use/BitronixXid.html | 284 ++
doc/api/bitronix/tm/class-use/Configuration.html | 353 ++
.../tm/class-use/TransactionManagerServices.html | 145 +
doc/api/bitronix/tm/class-use/Version.html | 145 +
doc/api/bitronix/tm/gui/Console.html | 495 +++
.../bitronix/tm/gui/DuplicatedGtridTableModel.html | 338 ++
.../tm/gui/PendingTransactionTableModel.html | 512 +++
.../bitronix/tm/gui/RawTransactionTableModel.html | 542 +++
doc/api/bitronix/tm/gui/ResourcesPanel.html | 357 ++
doc/api/bitronix/tm/gui/ResourcesTreeModel.html | 423 +++
doc/api/bitronix/tm/gui/TransactionLogDialog.html | 401 +++
.../bitronix/tm/gui/TransactionLogHeaderPanel.html | 470 +++
.../tm/gui/TransactionTableCellRenderer.html | 449 +++
doc/api/bitronix/tm/gui/TransactionTableModel.html | 362 ++
.../tm/gui/TransactionTableMouseListener.html | 279 ++
doc/api/bitronix/tm/gui/class-use/Console.html | 145 +
.../gui/class-use/DuplicatedGtridTableModel.html | 145 +
.../class-use/PendingTransactionTableModel.html | 145 +
.../tm/gui/class-use/RawTransactionTableModel.html | 145 +
.../bitronix/tm/gui/class-use/ResourcesPanel.html | 145 +
.../tm/gui/class-use/ResourcesTreeModel.html | 145 +
.../tm/gui/class-use/TransactionLogDialog.html | 145 +
.../gui/class-use/TransactionLogHeaderPanel.html | 145 +
.../class-use/TransactionTableCellRenderer.html | 145 +
.../tm/gui/class-use/TransactionTableModel.html | 190 +
.../class-use/TransactionTableMouseListener.html | 145 +
doc/api/bitronix/tm/gui/package-frame.html | 53 +
doc/api/bitronix/tm/gui/package-summary.html | 216 ++
doc/api/bitronix/tm/gui/package-tree.html | 198 ++
doc/api/bitronix/tm/gui/package-use.html | 172 +
.../internal/BitronixHeuristicCommitException.html | 264 ++
.../internal/BitronixHeuristicMixedException.html | 264 ++
.../BitronixHeuristicRollbackException.html | 264 ++
.../tm/internal/BitronixMultiSystemException.html | 367 ++
.../tm/internal/BitronixRollbackException.html | 264 ++
.../internal/BitronixRollbackSystemException.html | 270 ++
.../tm/internal/BitronixRuntimeException.html | 264 ++
.../tm/internal/BitronixSystemException.html | 299 ++
.../bitronix/tm/internal/BitronixXAException.html | 314 ++
doc/api/bitronix/tm/internal/ThreadContext.html | 355 ++
.../internal/TransactionStatusChangeListener.html | 219 ++
.../tm/internal/TransactionTimeoutException.html | 263 ++
.../tm/internal/XAResourceHolderState.html | 645 ++++
.../bitronix/tm/internal/XAResourceManager.html | 594 ++++
.../BitronixHeuristicCommitException.html | 145 +
.../class-use/BitronixHeuristicMixedException.html | 145 +
.../BitronixHeuristicRollbackException.html | 145 +
.../class-use/BitronixMultiSystemException.html | 145 +
.../class-use/BitronixRollbackException.html | 145 +
.../class-use/BitronixRollbackSystemException.html | 145 +
.../class-use/BitronixRuntimeException.html | 145 +
.../class-use/BitronixSystemException.html | 357 ++
.../tm/internal/class-use/BitronixXAException.html | 145 +
.../tm/internal/class-use/ThreadContext.html | 145 +
.../class-use/TransactionStatusChangeListener.html | 182 +
.../class-use/TransactionTimeoutException.html | 145 +
.../internal/class-use/XAResourceHolderState.html | 545 +++
.../tm/internal/class-use/XAResourceManager.html | 213 ++
doc/api/bitronix/tm/internal/package-frame.html | 77 +
doc/api/bitronix/tm/internal/package-summary.html | 249 ++
doc/api/bitronix/tm/internal/package-tree.html | 180 +
doc/api/bitronix/tm/internal/package-use.html | 370 ++
doc/api/bitronix/tm/jndi/BitronixContext.html | 1031 ++++++
.../tm/jndi/BitronixInitialContextFactory.html | 309 ++
.../tm/jndi/class-use/BitronixContext.html | 145 +
.../class-use/BitronixInitialContextFactory.html | 145 +
doc/api/bitronix/tm/jndi/package-frame.html | 35 +
doc/api/bitronix/tm/jndi/package-summary.html | 182 +
doc/api/bitronix/tm/jndi/package-tree.html | 156 +
doc/api/bitronix/tm/jndi/package-use.html | 145 +
.../journal/CorruptedTransactionLogException.html | 248 ++
.../tm/journal/DiskForceBatcherThread.html | 367 ++
.../bitronix/tm/journal/DiskForceWaitQueue.html | 382 ++
doc/api/bitronix/tm/journal/DiskJournal.html | 421 +++
doc/api/bitronix/tm/journal/Journal.html | 353 ++
doc/api/bitronix/tm/journal/NullJournal.html | 439 +++
.../tm/journal/TransactionLogAppender.html | 458 +++
.../bitronix/tm/journal/TransactionLogCursor.html | 326 ++
.../bitronix/tm/journal/TransactionLogHeader.html | 669 ++++
.../bitronix/tm/journal/TransactionLogRecord.html | 560 +++
.../CorruptedTransactionLogException.html | 145 +
.../journal/class-use/DiskForceBatcherThread.html | 182 +
.../tm/journal/class-use/DiskForceWaitQueue.html | 145 +
.../bitronix/tm/journal/class-use/DiskJournal.html | 145 +
doc/api/bitronix/tm/journal/class-use/Journal.html | 220 ++
.../bitronix/tm/journal/class-use/NullJournal.html | 145 +
.../journal/class-use/TransactionLogAppender.html | 214 ++
.../tm/journal/class-use/TransactionLogCursor.html | 182 +
.../tm/journal/class-use/TransactionLogHeader.html | 182 +
.../tm/journal/class-use/TransactionLogRecord.html | 299 ++
doc/api/bitronix/tm/journal/package-frame.html | 69 +
doc/api/bitronix/tm/journal/package-summary.html | 233 ++
doc/api/bitronix/tm/journal/package-tree.html | 173 +
doc/api/bitronix/tm/journal/package-use.html | 244 ++
doc/api/bitronix/tm/package-frame.html | 62 +
doc/api/bitronix/tm/package-summary.html | 226 ++
doc/api/bitronix/tm/package-tree.html | 168 +
doc/api/bitronix/tm/package-use.html | 314 ++
.../bitronix/tm/recovery/DanglingTransaction.html | 326 ++
.../bitronix/tm/recovery/IncrementalRecoverer.html | 266 ++
doc/api/bitronix/tm/recovery/Recoverer.html | 456 +++
doc/api/bitronix/tm/recovery/RecovererMBean.html | 313 ++
.../bitronix/tm/recovery/RecoveryException.html | 263 ++
doc/api/bitronix/tm/recovery/RecoveryHelper.html | 315 ++
.../tm/recovery/class-use/DanglingTransaction.html | 145 +
.../recovery/class-use/IncrementalRecoverer.html | 145 +
.../bitronix/tm/recovery/class-use/Recoverer.html | 237 ++
.../tm/recovery/class-use/RecovererMBean.html | 182 +
.../tm/recovery/class-use/RecoveryException.html | 364 ++
.../tm/recovery/class-use/RecoveryHelper.html | 145 +
doc/api/bitronix/tm/recovery/package-frame.html | 61 +
doc/api/bitronix/tm/recovery/package-summary.html | 216 ++
doc/api/bitronix/tm/recovery/package-tree.html | 165 +
doc/api/bitronix/tm/recovery/package-use.html | 318 ++
.../resource/ResourceConfigurationException.html | 264 ++
doc/api/bitronix/tm/resource/ResourceLoader.html | 327 ++
.../tm/resource/ResourceObjectFactory.html | 276 ++
.../bitronix/tm/resource/ResourceRegistrar.html | 355 ++
.../class-use/ResourceConfigurationException.html | 145 +
.../tm/resource/class-use/ResourceLoader.html | 182 +
.../resource/class-use/ResourceObjectFactory.html | 145 +
.../tm/resource/class-use/ResourceRegistrar.html | 145 +
.../resource/common/AbstractXAResourceHolder.html | 455 +++
.../resource/common/AbstractXAStatefulHolder.html | 378 ++
.../common/DeferredReleaseSynchronization.html | 333 ++
.../resource/common/RecoveryXAResourceHolder.html | 444 +++
.../bitronix/tm/resource/common/ResourceBean.html | 1145 ++++++
.../tm/resource/common/StateChangeListener.html | 249 ++
.../resource/common/TransactionContextHelper.html | 367 ++
doc/api/bitronix/tm/resource/common/XAPool.html | 632 ++++
.../tm/resource/common/XAResourceHolder.html | 382 ++
.../tm/resource/common/XAResourceProducer.html | 422 +++
.../tm/resource/common/XAStatefulHolder.html | 490 +++
.../common/class-use/AbstractXAResourceHolder.html | 274 ++
.../common/class-use/AbstractXAStatefulHolder.html | 290 ++
.../class-use/DeferredReleaseSynchronization.html | 145 +
.../common/class-use/RecoveryXAResourceHolder.html | 212 ++
.../tm/resource/common/class-use/ResourceBean.html | 464 +++
.../common/class-use/StateChangeListener.html | 283 ++
.../common/class-use/TransactionContextHelper.html | 145 +
.../tm/resource/common/class-use/XAPool.html | 206 ++
.../common/class-use/XAResourceHolder.html | 487 +++
.../common/class-use/XAResourceProducer.html | 355 ++
.../common/class-use/XAStatefulHolder.html | 525 +++
.../bitronix/tm/resource/common/package-frame.html | 62 +
.../tm/resource/common/package-summary.html | 228 ++
.../bitronix/tm/resource/common/package-tree.html | 176 +
.../bitronix/tm/resource/common/package-use.html | 481 +++
.../resource/ehcache/EhCacheXAResourceHolder.html | 446 +++
.../ehcache/EhCacheXAResourceProducer.html | 499 +++
.../ehcache/class-use/EhCacheXAResourceHolder.html | 145 +
.../class-use/EhCacheXAResourceProducer.html | 145 +
.../tm/resource/ehcache/package-frame.html | 35 +
.../tm/resource/ehcache/package-summary.html | 180 +
.../bitronix/tm/resource/ehcache/package-tree.html | 164 +
.../bitronix/tm/resource/ehcache/package-use.html | 145 +
.../tm/resource/jdbc/BaseProxyHandlerClass.html | 313 ++
.../tm/resource/jdbc/ConnectionCustomizer.html | 243 ++
.../resource/jdbc/JdbcCallableStatementHandle.html | 361 ++
.../tm/resource/jdbc/JdbcConnectionHandle.html | 908 +++++
.../tm/resource/jdbc/JdbcPooledConnection.html | 780 ++++
.../resource/jdbc/JdbcPooledConnectionMBean.html | 256 ++
.../resource/jdbc/JdbcPreparedStatementHandle.html | 616 ++++
.../tm/resource/jdbc/JdbcStatementHandle.html | 361 ++
.../jdbc/JdbcUncachedPreparedStatementHandle.html | 346 ++
.../tm/resource/jdbc/LruEvictionListener.html | 215 ++
.../tm/resource/jdbc/LruStatementCache.html | 359 ++
.../tm/resource/jdbc/PoolingDataSource.html | 1142 ++++++
.../tm/resource/jdbc/PoolingDataSourceMBean.html | 350 ++
.../jdbc/class-use/BaseProxyHandlerClass.html | 252 ++
.../jdbc/class-use/ConnectionCustomizer.html | 190 +
.../class-use/JdbcCallableStatementHandle.html | 145 +
.../jdbc/class-use/JdbcConnectionHandle.html | 145 +
.../jdbc/class-use/JdbcPooledConnection.html | 242 ++
.../jdbc/class-use/JdbcPooledConnectionMBean.html | 182 +
.../class-use/JdbcPreparedStatementHandle.html | 248 ++
.../jdbc/class-use/JdbcStatementHandle.html | 145 +
.../JdbcUncachedPreparedStatementHandle.html | 145 +
.../jdbc/class-use/LruEvictionListener.html | 190 +
.../resource/jdbc/class-use/LruStatementCache.html | 145 +
.../resource/jdbc/class-use/PoolingDataSource.html | 197 ++
.../jdbc/class-use/PoolingDataSourceMBean.html | 182 +
.../tm/resource/jdbc/lrc/LrcConnectionHandle.html | 461 +++
.../tm/resource/jdbc/lrc/LrcXAConnection.html | 456 +++
.../tm/resource/jdbc/lrc/LrcXADataSource.html | 595 ++++
.../tm/resource/jdbc/lrc/LrcXAResource.html | 668 ++++
.../jdbc/lrc/class-use/LrcConnectionHandle.html | 145 +
.../jdbc/lrc/class-use/LrcXAConnection.html | 145 +
.../jdbc/lrc/class-use/LrcXADataSource.html | 145 +
.../resource/jdbc/lrc/class-use/LrcXAResource.html | 181 +
.../tm/resource/jdbc/lrc/package-frame.html | 39 +
.../tm/resource/jdbc/lrc/package-summary.html | 191 +
.../tm/resource/jdbc/lrc/package-tree.html | 159 +
.../bitronix/tm/resource/jdbc/lrc/package-use.html | 172 +
.../bitronix/tm/resource/jdbc/package-frame.html | 66 +
.../bitronix/tm/resource/jdbc/package-summary.html | 235 ++
.../bitronix/tm/resource/jdbc/package-tree.html | 173 +
doc/api/bitronix/tm/resource/jdbc/package-use.html | 234 ++
.../tm/resource/jms/DualSessionWrapper.html | 1393 ++++++++
.../tm/resource/jms/JmsConnectionHandle.html | 607 ++++
.../tm/resource/jms/JmsPooledConnection.html | 604 ++++
.../tm/resource/jms/JmsPooledConnectionMBean.html | 256 ++
.../tm/resource/jms/JndiXAConnectionFactory.html | 723 ++++
.../tm/resource/jms/MessageConsumerWrapper.html | 535 +++
.../resource/jms/MessageProducerConsumerKey.html | 343 ++
.../tm/resource/jms/MessageProducerWrapper.html | 773 ++++
.../tm/resource/jms/PoolingConnectionFactory.html | 835 +++++
.../jms/PoolingConnectionFactoryMBean.html | 350 ++
.../tm/resource/jms/TopicSubscriberWrapper.html | 358 ++
.../resource/jms/class-use/DualSessionWrapper.html | 222 ++
.../jms/class-use/JmsConnectionHandle.html | 145 +
.../jms/class-use/JmsPooledConnection.html | 205 ++
.../jms/class-use/JmsPooledConnectionMBean.html | 182 +
.../jms/class-use/JndiXAConnectionFactory.html | 145 +
.../jms/class-use/MessageConsumerWrapper.html | 182 +
.../jms/class-use/MessageProducerConsumerKey.html | 145 +
.../jms/class-use/MessageProducerWrapper.html | 145 +
.../jms/class-use/PoolingConnectionFactory.html | 229 ++
.../class-use/PoolingConnectionFactoryMBean.html | 182 +
.../jms/class-use/TopicSubscriberWrapper.html | 145 +
.../tm/resource/jms/lrc/LrcXAConnection.html | 583 +++
.../resource/jms/lrc/LrcXAConnectionFactory.html | 407 +++
.../tm/resource/jms/lrc/LrcXAResource.html | 668 ++++
.../bitronix/tm/resource/jms/lrc/LrcXASession.html | 1095 ++++++
.../jms/lrc/class-use/LrcXAConnection.html | 145 +
.../jms/lrc/class-use/LrcXAConnectionFactory.html | 145 +
.../resource/jms/lrc/class-use/LrcXAResource.html | 145 +
.../resource/jms/lrc/class-use/LrcXASession.html | 145 +
.../tm/resource/jms/lrc/package-frame.html | 39 +
.../tm/resource/jms/lrc/package-summary.html | 191 +
.../bitronix/tm/resource/jms/lrc/package-tree.html | 158 +
.../bitronix/tm/resource/jms/lrc/package-use.html | 145 +
.../bitronix/tm/resource/jms/package-frame.html | 62 +
.../bitronix/tm/resource/jms/package-summary.html | 229 ++
doc/api/bitronix/tm/resource/jms/package-tree.html | 178 +
doc/api/bitronix/tm/resource/jms/package-use.html | 203 ++
doc/api/bitronix/tm/resource/package-frame.html | 48 +
doc/api/bitronix/tm/resource/package-summary.html | 198 ++
doc/api/bitronix/tm/resource/package-tree.html | 163 +
doc/api/bitronix/tm/resource/package-use.html | 172 +
doc/api/bitronix/tm/timer/PoolShrinkingTask.html | 325 ++
doc/api/bitronix/tm/timer/RecoveryTask.html | 325 ++
doc/api/bitronix/tm/timer/Task.html | 347 ++
doc/api/bitronix/tm/timer/TaskException.html | 249 ++
doc/api/bitronix/tm/timer/TaskScheduler.html | 514 +++
.../bitronix/tm/timer/TransactionTimeoutTask.html | 325 ++
.../tm/timer/class-use/PoolShrinkingTask.html | 145 +
.../bitronix/tm/timer/class-use/RecoveryTask.html | 145 +
doc/api/bitronix/tm/timer/class-use/Task.html | 198 ++
.../bitronix/tm/timer/class-use/TaskException.html | 206 ++
.../bitronix/tm/timer/class-use/TaskScheduler.html | 251 ++
.../tm/timer/class-use/TransactionTimeoutTask.html | 145 +
doc/api/bitronix/tm/timer/package-frame.html | 52 +
doc/api/bitronix/tm/timer/package-summary.html | 206 ++
doc/api/bitronix/tm/timer/package-tree.html | 165 +
doc/api/bitronix/tm/timer/package-use.html | 204 ++
doc/api/bitronix/tm/twopc/AbstractPhaseEngine.html | 385 ++
doc/api/bitronix/tm/twopc/Committer.html | 335 ++
doc/api/bitronix/tm/twopc/PhaseException.html | 326 ++
doc/api/bitronix/tm/twopc/Preparer.html | 333 ++
doc/api/bitronix/tm/twopc/Rollbacker.html | 337 ++
.../tm/twopc/class-use/AbstractPhaseEngine.html | 198 ++
doc/api/bitronix/tm/twopc/class-use/Committer.html | 145 +
.../tm/twopc/class-use/PhaseException.html | 199 ++
doc/api/bitronix/tm/twopc/class-use/Preparer.html | 145 +
.../bitronix/tm/twopc/class-use/Rollbacker.html | 145 +
.../twopc/executor/BackportConcurrentExecutor.html | 247 ++
.../tm/twopc/executor/ConcurrentExecutor.html | 398 +++
doc/api/bitronix/tm/twopc/executor/Executor.html | 329 ++
doc/api/bitronix/tm/twopc/executor/Job.html | 453 +++
.../tm/twopc/executor/SimpleAsyncExecutor.html | 377 ++
.../bitronix/tm/twopc/executor/SyncExecutor.html | 377 ++
.../class-use/BackportConcurrentExecutor.html | 145 +
.../executor/class-use/ConcurrentExecutor.html | 183 +
.../tm/twopc/executor/class-use/Executor.html | 283 ++
.../bitronix/tm/twopc/executor/class-use/Job.html | 260 ++
.../executor/class-use/SimpleAsyncExecutor.html | 145 +
.../tm/twopc/executor/class-use/SyncExecutor.html | 145 +
.../bitronix/tm/twopc/executor/package-frame.html | 52 +
.../tm/twopc/executor/package-summary.html | 207 ++
.../bitronix/tm/twopc/executor/package-tree.html | 167 +
.../bitronix/tm/twopc/executor/package-use.html | 230 ++
doc/api/bitronix/tm/twopc/package-frame.html | 50 +
doc/api/bitronix/tm/twopc/package-summary.html | 202 ++
doc/api/bitronix/tm/twopc/package-tree.html | 161 +
doc/api/bitronix/tm/twopc/package-use.html | 178 +
doc/api/bitronix/tm/utils/ClassLoaderUtils.html | 308 ++
doc/api/bitronix/tm/utils/CollectionUtils.html | 268 ++
doc/api/bitronix/tm/utils/CryptoEngine.html | 341 ++
doc/api/bitronix/tm/utils/Decoder.html | 379 ++
doc/api/bitronix/tm/utils/Encoder.html | 341 ++
.../bitronix/tm/utils/InitializationException.html | 264 ++
doc/api/bitronix/tm/utils/ManagementRegistrar.html | 308 ++
doc/api/bitronix/tm/utils/PropertyException.html | 264 ++
doc/api/bitronix/tm/utils/PropertyUtils.html | 373 ++
doc/api/bitronix/tm/utils/Scheduler.html | 565 +++
doc/api/bitronix/tm/utils/Service.html | 223 ++
doc/api/bitronix/tm/utils/Uid.html | 384 ++
doc/api/bitronix/tm/utils/UidGenerator.html | 314 ++
.../tm/utils/class-use/ClassLoaderUtils.html | 145 +
.../tm/utils/class-use/CollectionUtils.html | 145 +
.../bitronix/tm/utils/class-use/CryptoEngine.html | 145 +
doc/api/bitronix/tm/utils/class-use/Decoder.html | 145 +
doc/api/bitronix/tm/utils/class-use/Encoder.html | 145 +
.../utils/class-use/InitializationException.html | 145 +
.../tm/utils/class-use/ManagementRegistrar.html | 145 +
.../tm/utils/class-use/PropertyException.html | 210 ++
.../bitronix/tm/utils/class-use/PropertyUtils.html | 145 +
doc/api/bitronix/tm/utils/class-use/Scheduler.html | 182 +
doc/api/bitronix/tm/utils/class-use/Service.html | 406 +++
doc/api/bitronix/tm/utils/class-use/Uid.html | 431 +++
.../bitronix/tm/utils/class-use/UidGenerator.html | 145 +
doc/api/bitronix/tm/utils/package-frame.html | 75 +
doc/api/bitronix/tm/utils/package-summary.html | 244 ++
doc/api/bitronix/tm/utils/package-tree.html | 166 +
doc/api/bitronix/tm/utils/package-use.html | 356 ++
doc/api/constant-values.html | 403 +++
doc/api/deprecated-list.html | 167 +
doc/api/help-doc.html | 224 ++
doc/api/index-all.html | 3721 ++++++++++++++++++++
doc/api/index.html | 40 +
doc/api/overview-frame.html | 75 +
doc/api/overview-summary.html | 238 ++
doc/api/overview-tree.html | 298 ++
doc/api/package-list | 17 +
doc/api/resources/inherit.gif | Bin 0 -> 57 bytes
doc/api/serialized-form.html | 1326 +++++++
doc/api/stylesheet.css | 29 +
doc/bitronix.html | 8 +
lib/APACHE-LICENSE-2.0.txt | 202 ++
lib/SLF4J-LICENSE.txt | 21 +
license.txt | 165 +
release-notes-2.1.2.txt | 34 +
src/bitronix/tm/BitronixTransaction.java | 551 +++
src/bitronix/tm/BitronixTransactionMBean.java | 39 +
src/bitronix/tm/BitronixTransactionManager.java | 457 +++
.../BitronixTransactionManagerObjectFactory.java | 52 +
...BitronixTransactionSynchronizationRegistry.java | 183 +
...actionSynchronizationRegistryObjectFactory.java | 52 +
.../tm/BitronixUserTransactionObjectFactory.java | 30 +
src/bitronix/tm/BitronixXid.java | 143 +
src/bitronix/tm/Configuration.java | 690 ++++
src/bitronix/tm/TransactionManagerServices.java | 201 ++
src/bitronix/tm/Version.java | 7 +
src/bitronix/tm/gui/Console.java | 461 +++
src/bitronix/tm/gui/DuplicatedGtridTableModel.java | 88 +
.../tm/gui/PendingTransactionTableModel.java | 146 +
src/bitronix/tm/gui/RawTransactionTableModel.java | 149 +
src/bitronix/tm/gui/ResourcesPanel.java | 100 +
src/bitronix/tm/gui/ResourcesTreeModel.java | 87 +
src/bitronix/tm/gui/TransactionLogDialog.java | 125 +
src/bitronix/tm/gui/TransactionLogHeaderPanel.java | 106 +
.../tm/gui/TransactionTableCellRenderer.java | 57 +
src/bitronix/tm/gui/TransactionTableModel.java | 70 +
.../tm/gui/TransactionTableMouseListener.java | 54 +
src/bitronix/tm/gui/package.html | 7 +
.../internal/BitronixHeuristicCommitException.java | 41 +
.../internal/BitronixHeuristicMixedException.java | 41 +
.../BitronixHeuristicRollbackException.java | 41 +
.../tm/internal/BitronixMultiSystemException.java | 104 +
.../tm/internal/BitronixRollbackException.java | 41 +
.../internal/BitronixRollbackSystemException.java | 35 +
.../tm/internal/BitronixRuntimeException.java | 35 +
.../tm/internal/BitronixSystemException.java | 45 +
src/bitronix/tm/internal/BitronixXAException.java | 47 +
src/bitronix/tm/internal/ThreadContext.java | 92 +
.../internal/TransactionStatusChangeListener.java | 38 +
.../tm/internal/TransactionTimeoutException.java | 36 +
.../tm/internal/XAResourceHolderState.java | 256 ++
src/bitronix/tm/internal/XAResourceManager.java | 327 ++
src/bitronix/tm/internal/package.html | 7 +
src/bitronix/tm/jndi/BitronixContext.java | 203 ++
.../tm/jndi/BitronixInitialContextFactory.java | 61 +
src/bitronix/tm/jndi/package.html | 7 +
.../journal/CorruptedTransactionLogException.java | 34 +
.../tm/journal/DiskForceBatcherThread.java | 127 +
src/bitronix/tm/journal/DiskForceWaitQueue.java | 94 +
src/bitronix/tm/journal/DiskJournal.java | 395 +++
src/bitronix/tm/journal/Journal.java | 73 +
src/bitronix/tm/journal/NullJournal.java | 64 +
.../tm/journal/TransactionLogAppender.java | 224 ++
src/bitronix/tm/journal/TransactionLogCursor.java | 166 +
src/bitronix/tm/journal/TransactionLogHeader.java | 242 ++
src/bitronix/tm/journal/TransactionLogRecord.java | 271 ++
src/bitronix/tm/journal/package.html | 7 +
src/bitronix/tm/package.html | 7 +
src/bitronix/tm/recovery/DanglingTransaction.java | 66 +
src/bitronix/tm/recovery/IncrementalRecoverer.java | 128 +
src/bitronix/tm/recovery/Recoverer.java | 548 +++
src/bitronix/tm/recovery/RecovererMBean.java | 42 +
src/bitronix/tm/recovery/RecoveryException.java | 36 +
src/bitronix/tm/recovery/RecoveryHelper.java | 250 ++
src/bitronix/tm/recovery/package.html | 7 +
.../resource/ResourceConfigurationException.java | 36 +
src/bitronix/tm/resource/ResourceLoader.java | 309 ++
.../tm/resource/ResourceObjectFactory.java | 62 +
src/bitronix/tm/resource/ResourceRegistrar.java | 120 +
.../resource/common/AbstractXAResourceHolder.java | 167 +
.../resource/common/AbstractXAStatefulHolder.java | 92 +
.../common/DeferredReleaseSynchronization.java | 63 +
.../resource/common/RecoveryXAResourceHolder.java | 69 +
src/bitronix/tm/resource/common/ResourceBean.java | 353 ++
.../tm/resource/common/StateChangeListener.java | 46 +
.../resource/common/TransactionContextHelper.java | 288 ++
src/bitronix/tm/resource/common/XAPool.java | 539 +++
.../tm/resource/common/XAResourceHolder.java | 81 +
.../tm/resource/common/XAResourceProducer.java | 91 +
.../tm/resource/common/XAStatefulHolder.java | 113 +
src/bitronix/tm/resource/common/package.html | 7 +
.../resource/ehcache/EhCacheXAResourceHolder.java | 97 +
.../ehcache/EhCacheXAResourceProducer.java | 222 ++
src/bitronix/tm/resource/ehcache/package.html | 7 +
.../tm/resource/jdbc/BaseProxyHandlerClass.java | 120 +
.../tm/resource/jdbc/ConnectionCustomizer.java | 27 +
.../resource/jdbc/JdbcCallableStatementHandle.java | 76 +
.../tm/resource/jdbc/JdbcConnectionHandle.java | 402 +++
.../tm/resource/jdbc/JdbcPooledConnection.java | 438 +++
.../resource/jdbc/JdbcPooledConnectionMBean.java | 37 +
.../resource/jdbc/JdbcPreparedStatementHandle.java | 206 ++
.../tm/resource/jdbc/JdbcStatementHandle.java | 79 +
.../jdbc/JdbcUncachedPreparedStatementHandle.java | 64 +
.../tm/resource/jdbc/LruEvictionListener.java | 32 +
.../tm/resource/jdbc/LruStatementCache.java | 229 ++
.../tm/resource/jdbc/PoolingDataSource.java | 400 +++
.../tm/resource/jdbc/PoolingDataSourceMBean.java | 38 +
.../tm/resource/jdbc/lrc/LrcConnectionHandle.java | 93 +
.../tm/resource/jdbc/lrc/LrcXAConnection.java | 103 +
.../tm/resource/jdbc/lrc/LrcXADataSource.java | 128 +
.../tm/resource/jdbc/lrc/LrcXAResource.java | 322 ++
src/bitronix/tm/resource/jdbc/lrc/package.html | 10 +
src/bitronix/tm/resource/jdbc/package.html | 7 +
.../tm/resource/jms/DualSessionWrapper.java | 501 +++
.../tm/resource/jms/JmsConnectionHandle.java | 105 +
.../tm/resource/jms/JmsPooledConnection.java | 269 ++
.../tm/resource/jms/JmsPooledConnectionMBean.java | 37 +
.../tm/resource/jms/JndiXAConnectionFactory.java | 249 ++
.../tm/resource/jms/MessageConsumerWrapper.java | 110 +
.../resource/jms/MessageProducerConsumerKey.java | 119 +
.../tm/resource/jms/MessageProducerWrapper.java | 147 +
.../tm/resource/jms/PoolingConnectionFactory.java | 272 ++
.../jms/PoolingConnectionFactoryMBean.java | 38 +
.../tm/resource/jms/TopicSubscriberWrapper.java | 50 +
.../tm/resource/jms/lrc/LrcXAConnection.java | 89 +
.../resource/jms/lrc/LrcXAConnectionFactory.java | 88 +
.../tm/resource/jms/lrc/LrcXAResource.java | 294 ++
src/bitronix/tm/resource/jms/lrc/LrcXASession.java | 180 +
src/bitronix/tm/resource/jms/lrc/package.html | 10 +
src/bitronix/tm/resource/jms/package.html | 7 +
src/bitronix/tm/resource/package.html | 7 +
src/bitronix/tm/timer/PoolShrinkingTask.java | 59 +
src/bitronix/tm/timer/RecoveryTask.java | 67 +
src/bitronix/tm/timer/Task.java | 56 +
src/bitronix/tm/timer/TaskException.java | 32 +
src/bitronix/tm/timer/TaskScheduler.java | 230 ++
src/bitronix/tm/timer/TransactionTimeoutTask.java | 63 +
src/bitronix/tm/timer/package.html | 7 +
src/bitronix/tm/twopc/AbstractPhaseEngine.java | 234 ++
src/bitronix/tm/twopc/Committer.java | 246 ++
src/bitronix/tm/twopc/PhaseException.java | 93 +
src/bitronix/tm/twopc/Preparer.java | 171 +
src/bitronix/tm/twopc/Rollbacker.java | 218 ++
.../twopc/executor/BackportConcurrentExecutor.java | 41 +
.../tm/twopc/executor/ConcurrentExecutor.java | 148 +
src/bitronix/tm/twopc/executor/Executor.java | 67 +
src/bitronix/tm/twopc/executor/Job.java | 74 +
.../tm/twopc/executor/SimpleAsyncExecutor.java | 59 +
src/bitronix/tm/twopc/executor/SyncExecutor.java | 48 +
src/bitronix/tm/twopc/executor/package.html | 7 +
src/bitronix/tm/twopc/package.html | 7 +
src/bitronix/tm/utils/ClassLoaderUtils.java | 79 +
src/bitronix/tm/utils/CollectionUtils.java | 50 +
src/bitronix/tm/utils/CryptoEngine.java | 1105 ++++++
src/bitronix/tm/utils/Decoder.java | 152 +
src/bitronix/tm/utils/Encoder.java | 92 +
src/bitronix/tm/utils/InitializationException.java | 37 +
src/bitronix/tm/utils/ManagementRegistrar.java | 127 +
src/bitronix/tm/utils/PropertyException.java | 38 +
src/bitronix/tm/utils/PropertyUtils.java | 347 ++
src/bitronix/tm/utils/Scheduler.java | 236 ++
src/bitronix/tm/utils/Service.java | 36 +
src/bitronix/tm/utils/Uid.java | 128 +
src/bitronix/tm/utils/UidGenerator.java | 77 +
src/bitronix/tm/utils/package.html | 7 +
src/overview.html | 10 +
test/bitronix-default-config.properties | 23 +
test/bitronix-res.properties | 50 +
...onixTransactionSynchronizationRegistryTest.java | 148 +
test/bitronix/tm/ConfigurationTest.java | 109 +
test/bitronix/tm/JdbcFailedPoolTest.java | 136 +
test/bitronix/tm/JtaTest.java | 249 ++
test/bitronix/tm/RestartTest.java | 101 +
test/bitronix/tm/RestartTest.properties | 3 +
test/bitronix/tm/jndi/JndiTest.java | 117 +
test/bitronix/tm/journal/DiskJournalTest.java | 193 +
test/bitronix/tm/mock/AbstractMockJdbcTest.java | 150 +
test/bitronix/tm/mock/AbstractMockJmsTest.java | 87 +
test/bitronix/tm/mock/DelistmentTest.java | 265 ++
test/bitronix/tm/mock/JdbcPoolTest.java | 445 +++
.../bitronix/tm/mock/JdbcSharedConnectionTest.java | 181 +
test/bitronix/tm/mock/JmsPoolTest.java | 257 ++
test/bitronix/tm/mock/JmsProperUsageMockTest.java | 117 +
.../tm/mock/NewJdbcProperUsageMockTest.java | 1127 ++++++
.../tm/mock/NewJdbcStrangeUsageMockTest.java | 329 ++
.../tm/mock/NewJdbcSuspendResumeMockTest.java | 600 ++++
.../tm/mock/NewJdbcWrongUsageMockTest.java | 309 ++
test/bitronix/tm/mock/events/Chrono.java | 46 +
.../tm/mock/events/ConnectionCloseEvent.java | 40 +
.../tm/mock/events/ConnectionDequeuedEvent.java | 49 +
.../tm/mock/events/ConnectionQueuedEvent.java | 49 +
test/bitronix/tm/mock/events/Event.java | 57 +
test/bitronix/tm/mock/events/EventRecorder.java | 93 +
test/bitronix/tm/mock/events/EventsIterator.java | 91 +
test/bitronix/tm/mock/events/JournalLogEvent.java | 62 +
test/bitronix/tm/mock/events/LocalCommitEvent.java | 37 +
.../tm/mock/events/LocalRollbackEvent.java | 37 +
.../tm/mock/events/XAConnectionCloseEvent.java | 40 +
test/bitronix/tm/mock/events/XAEvent.java | 47 +
.../tm/mock/events/XAResourceCommitEvent.java | 50 +
.../tm/mock/events/XAResourceEndEvent.java | 48 +
.../tm/mock/events/XAResourceForgetEvent.java | 38 +
.../tm/mock/events/XAResourceIsSameRmEvent.java | 52 +
.../tm/mock/events/XAResourcePrepareEvent.java | 52 +
.../tm/mock/events/XAResourceRollbackEvent.java | 42 +
.../tm/mock/events/XAResourceStartEvent.java | 47 +
test/bitronix/tm/mock/resource/MockJournal.java | 75 +
test/bitronix/tm/mock/resource/MockXAResource.java | 171 +
test/bitronix/tm/mock/resource/MockXid.java | 86 +
.../bitronix/tm/mock/resource/jdbc/MockDriver.java | 58 +
.../tm/mock/resource/jdbc/MockitoXADataSource.java | 213 ++
.../mock/resource/jms/MockConnectionFactory.java | 55 +
.../mock/resource/jms/MockXAConnectionFactory.java | 95 +
test/bitronix/tm/recovery/RecovererTest.java | 382 ++
test/bitronix/tm/resource/ResourceLoaderTest.java | 240 ++
.../common/AbstractXAResourceHolderTest.java | 92 +
test/bitronix/tm/resource/common/XAPoolTest.java | 67 +
test/bitronix/tm/timer/TaskSchedulerTest.java | 54 +
test/bitronix/tm/twopc/Phase1FailureTest.java | 339 ++
test/bitronix/tm/twopc/Phase2FailureTest.java | 295 ++
test/bitronix/tm/utils/CryptoEngineTest.java | 40 +
test/bitronix/tm/utils/EncoderTest.java | 65 +
test/bitronix/tm/utils/PropertyUtilsTest.java | 260 ++
test/bitronix/tm/utils/SchedulerTest.java | 290 ++
test/bitronix/tm/utils/UidGeneratorTest.java | 89 +
test/log4j.xml | 34 +
566 files changed, 132569 insertions(+)
diff --git a/build.properties b/build.properties
new file mode 100644
index 0000000..6cc5d3f
--- /dev/null
+++ b/build.properties
@@ -0,0 +1,4 @@
+#
+# The BTM version.
+#
+btm.version=2.1.2
diff --git a/build.xml b/build.xml
new file mode 100644
index 0000000..f7afdcd
--- /dev/null
+++ b/build.xml
@@ -0,0 +1,98 @@
+<project default="all" name="btm">
+
+ <property file="build.properties"/>
+
+ <property name="jar.version" value="${btm.version}"/>
+
+ <property environment="env"/>
+ <property name="dir.src" value="src"/>
+ <property name="dir.src.test" value="test"/>
+ <property name="dir.dist" value="dist"/>
+ <property name="dir.classes" value="${dir.dist}/classes"/>
+ <property name="dir.classes.test" value="${dir.dist}/classes-test"/>
+ <property name="dir.lib" value="lib"/>
+ <property name="dir.lib.test" value="test-lib"/>
+ <property name="dir.test.report" value="test-reports"/>
+ <property name="jar.file" value="${dir.dist}/btm-${jar.version}.jar"/>
+
+
+ <path id="javac.classpath">
+ <fileset dir="${dir.lib}" includes="*.jar"/>
+ </path>
+
+ <path id="test.classpath">
+ <pathelement location="${dir.classes.test}"/>
+ <pathelement location="${dir.classes}"/>
+ <fileset dir="${dir.lib.test}" includes="*.jar"/>
+ <path refid="javac.classpath"/>
+ </path>
+
+ <target name="all" depends="clean,build,test" description="Run clean,build,test"/>
+
+ <target name="build" description="Compile source files">
+ <mkdir dir="${dir.classes}"/>
+ <echo file="${dir.src}/bitronix/tm/Version.java">
+ package bitronix.tm;
+
+ public final class Version {
+ public static String getVersion() {
+ return "${jar.version}";
+ }
+ }
+ </echo>
+
+ <javac srcdir="${dir.src}" destdir="${dir.classes}" source="1.5" target="1.5" fork="true" debug="true"
+ classpathref="javac.classpath"/>
+
+ <delete file="${jar.file}" failonerror="true"/>
+ <jar basedir="${dir.classes}" file="${jar.file}">
+ <include name="**/*"/>
+ </jar>
+ </target>
+
+ <target name="test" depends="build" description="Compile JUnit tests and run them">
+ <mkdir dir="${dir.classes.test}"/>
+ <javac srcdir="${dir.src.test}" destdir="${dir.classes.test}" source="1.5" target="1.5" fork="true" debug="true"
+ classpathref="test.classpath"/>
+ <copy todir="${dir.classes.test}">
+ <fileset dir="${dir.src.test}">
+ <include name="**/*"/>
+ <exclude name="**/*.java"/>
+ </fileset>
+ </copy>
+
+ <mkdir dir="${dir.test.report}"/>
+ <mkdir dir="${dir.test.report}/xml"/>
+ <mkdir dir="${dir.test.report}/html"/>
+ <junit printsummary="yes" failureproperty="failure.junit" errorproperty="error.junit">
+ <classpath>
+ <path refid="test.classpath"/>
+ </classpath>
+
+ <formatter type="xml"/>
+
+ <batchtest fork="yes" todir="${dir.test.report}/xml">
+ <fileset dir="${dir.src.test}">
+ <include name="**/*Test.java"/>
+ <exclude name="**/Abstract*Test.java"/>
+ </fileset>
+ </batchtest>
+ </junit>
+
+ <junitreport>
+ <fileset dir="${dir.test.report}/xml">
+ <include name="TEST-*.xml"/>
+ </fileset>
+ <report format="frames" todir="${dir.test.report}/html"/>
+ </junitreport>
+
+ <fail if="failure.junit" message="some test(s) failed"/>
+ <fail if="error.junit" message="some test(s) failed"/>
+ </target>
+
+ <target name="clean" description="Delete all generated artifacts">
+ <delete dir="${dir.test.report}" failonerror="true" includeemptydirs="true"/>
+ <delete dir="${dir.dist}" failonerror="true" includeemptydirs="true"/>
+ </target>
+
+</project>
diff --git a/doc/api/allclasses-frame.html b/doc/api/allclasses-frame.html
new file mode 100644
index 0000000..290f309
--- /dev/null
+++ b/doc/api/allclasses-frame.html
@@ -0,0 +1,296 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+All Classes (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B>All Classes</B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc" target="classFrame">AbstractPhaseEngine</A>
+<BR>
+<A HREF="bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common" target="classFrame">AbstractXAResourceHolder</A>
+<BR>
+<A HREF="bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common" target="classFrame">AbstractXAStatefulHolder</A>
+<BR>
+<A HREF="bitronix/tm/twopc/executor/BackportConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor" target="classFrame">BackportConcurrentExecutor</A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc" target="classFrame">BaseProxyHandlerClass</A>
+<BR>
+<A HREF="bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi" target="classFrame">BitronixContext</A>
+<BR>
+<A HREF="bitronix/tm/internal/BitronixHeuristicCommitException.html" title="class in bitronix.tm.internal" target="classFrame">BitronixHeuristicCommitException</A>
+<BR>
+<A HREF="bitronix/tm/internal/BitronixHeuristicMixedException.html" title="class in bitronix.tm.internal" target="classFrame">BitronixHeuristicMixedException</A>
+<BR>
+<A HREF="bitronix/tm/internal/BitronixHeuristicRollbackException.html" title="class in bitronix.tm.internal" target="classFrame">BitronixHeuristicRollbackException</A>
+<BR>
+<A HREF="bitronix/tm/jndi/BitronixInitialContextFactory.html" title="class in bitronix.tm.jndi" target="classFrame">BitronixInitialContextFactory</A>
+<BR>
+<A HREF="bitronix/tm/internal/BitronixMultiSystemException.html" title="class in bitronix.tm.internal" target="classFrame">BitronixMultiSystemException</A>
+<BR>
+<A HREF="bitronix/tm/internal/BitronixRollbackException.html" title="class in bitronix.tm.internal" target="classFrame">BitronixRollbackException</A>
+<BR>
+<A HREF="bitronix/tm/internal/BitronixRollbackSystemException.html" title="class in bitronix.tm.internal" target="classFrame">BitronixRollbackSystemException</A>
+<BR>
+<A HREF="bitronix/tm/internal/BitronixRuntimeException.html" title="class in bitronix.tm.internal" target="classFrame">BitronixRuntimeException</A>
+<BR>
+<A HREF="bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal" target="classFrame">BitronixSystemException</A>
+<BR>
+<A HREF="bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm" target="classFrame">BitronixTransaction</A>
+<BR>
+<A HREF="bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm" target="classFrame">BitronixTransactionManager</A>
+<BR>
+<A HREF="bitronix/tm/BitronixTransactionManagerObjectFactory.html" title="class in bitronix.tm" target="classFrame">BitronixTransactionManagerObjectFactory</A>
+<BR>
+<A HREF="bitronix/tm/BitronixTransactionMBean.html" title="interface in bitronix.tm" target="classFrame"><I>BitronixTransactionMBean</I></A>
+<BR>
+<A HREF="bitronix/tm/BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm" target="classFrame">BitronixTransactionSynchronizationRegistry</A>
+<BR>
+<A HREF="bitronix/tm/BitronixTransactionSynchronizationRegistryObjectFactory.html" title="class in bitronix.tm" target="classFrame">BitronixTransactionSynchronizationRegistryObjectFactory</A>
+<BR>
+<A HREF="bitronix/tm/BitronixUserTransactionObjectFactory.html" title="class in bitronix.tm" target="classFrame">BitronixUserTransactionObjectFactory</A>
+<BR>
+<A HREF="bitronix/tm/internal/BitronixXAException.html" title="class in bitronix.tm.internal" target="classFrame">BitronixXAException</A>
+<BR>
+<A HREF="bitronix/tm/BitronixXid.html" title="class in bitronix.tm" target="classFrame">BitronixXid</A>
+<BR>
+<A HREF="bitronix/tm/utils/ClassLoaderUtils.html" title="class in bitronix.tm.utils" target="classFrame">ClassLoaderUtils</A>
+<BR>
+<A HREF="bitronix/tm/utils/CollectionUtils.html" title="class in bitronix.tm.utils" target="classFrame">CollectionUtils</A>
+<BR>
+<A HREF="bitronix/tm/twopc/Committer.html" title="class in bitronix.tm.twopc" target="classFrame">Committer</A>
+<BR>
+<A HREF="bitronix/tm/twopc/executor/ConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor" target="classFrame">ConcurrentExecutor</A>
+<BR>
+<A HREF="bitronix/tm/Configuration.html" title="class in bitronix.tm" target="classFrame">Configuration</A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/ConnectionCustomizer.html" title="interface in bitronix.tm.resource.jdbc" target="classFrame"><I>ConnectionCustomizer</I></A>
+<BR>
+<A HREF="bitronix/tm/gui/Console.html" title="class in bitronix.tm.gui" target="classFrame">Console</A>
+<BR>
+<A HREF="bitronix/tm/journal/CorruptedTransactionLogException.html" title="class in bitronix.tm.journal" target="classFrame">CorruptedTransactionLogException</A>
+<BR>
+<A HREF="bitronix/tm/utils/CryptoEngine.html" title="class in bitronix.tm.utils" target="classFrame">CryptoEngine</A>
+<BR>
+<A HREF="bitronix/tm/recovery/DanglingTransaction.html" title="class in bitronix.tm.recovery" target="classFrame">DanglingTransaction</A>
+<BR>
+<A HREF="bitronix/tm/utils/Decoder.html" title="class in bitronix.tm.utils" target="classFrame">Decoder</A>
+<BR>
+<A HREF="bitronix/tm/resource/common/DeferredReleaseSynchronization.html" title="class in bitronix.tm.resource.common" target="classFrame">DeferredReleaseSynchronization</A>
+<BR>
+<A HREF="bitronix/tm/journal/DiskForceBatcherThread.html" title="class in bitronix.tm.journal" target="classFrame">DiskForceBatcherThread</A>
+<BR>
+<A HREF="bitronix/tm/journal/DiskForceWaitQueue.html" title="class in bitronix.tm.journal" target="classFrame">DiskForceWaitQueue</A>
+<BR>
+<A HREF="bitronix/tm/journal/DiskJournal.html" title="class in bitronix.tm.journal" target="classFrame">DiskJournal</A>
+<BR>
+<A HREF="bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms" target="classFrame">DualSessionWrapper</A>
+<BR>
+<A HREF="bitronix/tm/gui/DuplicatedGtridTableModel.html" title="class in bitronix.tm.gui" target="classFrame">DuplicatedGtridTableModel</A>
+<BR>
+<A HREF="bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html" title="class in bitronix.tm.resource.ehcache" target="classFrame">EhCacheXAResourceHolder</A>
+<BR>
+<A HREF="bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html" title="class in bitronix.tm.resource.ehcache" target="classFrame">EhCacheXAResourceProducer</A>
+<BR>
+<A HREF="bitronix/tm/utils/Encoder.html" title="class in bitronix.tm.utils" target="classFrame">Encoder</A>
+<BR>
+<A HREF="bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor" target="classFrame"><I>Executor</I></A>
+<BR>
+<A HREF="bitronix/tm/recovery/IncrementalRecoverer.html" title="class in bitronix.tm.recovery" target="classFrame">IncrementalRecoverer</A>
+<BR>
+<A HREF="bitronix/tm/utils/InitializationException.html" title="class in bitronix.tm.utils" target="classFrame">InitializationException</A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html" title="class in bitronix.tm.resource.jdbc" target="classFrame">JdbcCallableStatementHandle</A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc" target="classFrame">JdbcConnectionHandle</A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc" target="classFrame">JdbcPooledConnection</A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jdbc" target="classFrame"><I>JdbcPooledConnectionMBean</I></A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc" target="classFrame">JdbcPreparedStatementHandle</A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/JdbcStatementHandle.html" title="class in bitronix.tm.resource.jdbc" target="classFrame">JdbcStatementHandle</A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc" target="classFrame">JdbcUncachedPreparedStatementHandle</A>
+<BR>
+<A HREF="bitronix/tm/resource/jms/JmsConnectionHandle.html" title="class in bitronix.tm.resource.jms" target="classFrame">JmsConnectionHandle</A>
+<BR>
+<A HREF="bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms" target="classFrame">JmsPooledConnection</A>
+<BR>
+<A HREF="bitronix/tm/resource/jms/JmsPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jms" target="classFrame"><I>JmsPooledConnectionMBean</I></A>
+<BR>
+<A HREF="bitronix/tm/resource/jms/JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms" target="classFrame">JndiXAConnectionFactory</A>
+<BR>
+<A HREF="bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor" target="classFrame">Job</A>
+<BR>
+<A HREF="bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal" target="classFrame"><I>Journal</I></A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc.lrc" target="classFrame">LrcConnectionHandle</A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jdbc.lrc" target="classFrame">LrcXAConnection</A>
+<BR>
+<A HREF="bitronix/tm/resource/jms/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jms.lrc" target="classFrame">LrcXAConnection</A>
+<BR>
+<A HREF="bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html" title="class in bitronix.tm.resource.jms.lrc" target="classFrame">LrcXAConnectionFactory</A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html" title="class in bitronix.tm.resource.jdbc.lrc" target="classFrame">LrcXADataSource</A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc" target="classFrame">LrcXAResource</A>
+<BR>
+<A HREF="bitronix/tm/resource/jms/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jms.lrc" target="classFrame">LrcXAResource</A>
+<BR>
+<A HREF="bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc" target="classFrame">LrcXASession</A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/LruEvictionListener.html" title="interface in bitronix.tm.resource.jdbc" target="classFrame"><I>LruEvictionListener</I></A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/LruStatementCache.html" title="class in bitronix.tm.resource.jdbc" target="classFrame">LruStatementCache</A>
+<BR>
+<A HREF="bitronix/tm/utils/ManagementRegistrar.html" title="class in bitronix.tm.utils" target="classFrame">ManagementRegistrar</A>
+<BR>
+<A HREF="bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms" target="classFrame">MessageConsumerWrapper</A>
+<BR>
+<A HREF="bitronix/tm/resource/jms/MessageProducerConsumerKey.html" title="class in bitronix.tm.resource.jms" target="classFrame">MessageProducerConsumerKey</A>
+<BR>
+<A HREF="bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms" target="classFrame">MessageProducerWrapper</A>
+<BR>
+<A HREF="bitronix/tm/journal/NullJournal.html" title="class in bitronix.tm.journal" target="classFrame">NullJournal</A>
+<BR>
+<A HREF="bitronix/tm/gui/PendingTransactionTableModel.html" title="class in bitronix.tm.gui" target="classFrame">PendingTransactionTableModel</A>
+<BR>
+<A HREF="bitronix/tm/twopc/PhaseException.html" title="class in bitronix.tm.twopc" target="classFrame">PhaseException</A>
+<BR>
+<A HREF="bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms" target="classFrame">PoolingConnectionFactory</A>
+<BR>
+<A HREF="bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" title="interface in bitronix.tm.resource.jms" target="classFrame"><I>PoolingConnectionFactoryMBean</I></A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc" target="classFrame">PoolingDataSource</A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html" title="interface in bitronix.tm.resource.jdbc" target="classFrame"><I>PoolingDataSourceMBean</I></A>
+<BR>
+<A HREF="bitronix/tm/timer/PoolShrinkingTask.html" title="class in bitronix.tm.timer" target="classFrame">PoolShrinkingTask</A>
+<BR>
+<A HREF="bitronix/tm/twopc/Preparer.html" title="class in bitronix.tm.twopc" target="classFrame">Preparer</A>
+<BR>
+<A HREF="bitronix/tm/utils/PropertyException.html" title="class in bitronix.tm.utils" target="classFrame">PropertyException</A>
+<BR>
+<A HREF="bitronix/tm/utils/PropertyUtils.html" title="class in bitronix.tm.utils" target="classFrame">PropertyUtils</A>
+<BR>
+<A HREF="bitronix/tm/gui/RawTransactionTableModel.html" title="class in bitronix.tm.gui" target="classFrame">RawTransactionTableModel</A>
+<BR>
+<A HREF="bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery" target="classFrame">Recoverer</A>
+<BR>
+<A HREF="bitronix/tm/recovery/RecovererMBean.html" title="interface in bitronix.tm.recovery" target="classFrame"><I>RecovererMBean</I></A>
+<BR>
+<A HREF="bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery" target="classFrame">RecoveryException</A>
+<BR>
+<A HREF="bitronix/tm/recovery/RecoveryHelper.html" title="class in bitronix.tm.recovery" target="classFrame">RecoveryHelper</A>
+<BR>
+<A HREF="bitronix/tm/timer/RecoveryTask.html" title="class in bitronix.tm.timer" target="classFrame">RecoveryTask</A>
+<BR>
+<A HREF="bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common" target="classFrame">RecoveryXAResourceHolder</A>
+<BR>
+<A HREF="bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common" target="classFrame">ResourceBean</A>
+<BR>
+<A HREF="bitronix/tm/resource/ResourceConfigurationException.html" title="class in bitronix.tm.resource" target="classFrame">ResourceConfigurationException</A>
+<BR>
+<A HREF="bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource" target="classFrame">ResourceLoader</A>
+<BR>
+<A HREF="bitronix/tm/resource/ResourceObjectFactory.html" title="class in bitronix.tm.resource" target="classFrame">ResourceObjectFactory</A>
+<BR>
+<A HREF="bitronix/tm/resource/ResourceRegistrar.html" title="class in bitronix.tm.resource" target="classFrame">ResourceRegistrar</A>
+<BR>
+<A HREF="bitronix/tm/gui/ResourcesPanel.html" title="class in bitronix.tm.gui" target="classFrame">ResourcesPanel</A>
+<BR>
+<A HREF="bitronix/tm/gui/ResourcesTreeModel.html" title="class in bitronix.tm.gui" target="classFrame">ResourcesTreeModel</A>
+<BR>
+<A HREF="bitronix/tm/twopc/Rollbacker.html" title="class in bitronix.tm.twopc" target="classFrame">Rollbacker</A>
+<BR>
+<A HREF="bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils" target="classFrame">Scheduler</A>
+<BR>
+<A HREF="bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils" target="classFrame"><I>Service</I></A>
+<BR>
+<A HREF="bitronix/tm/twopc/executor/SimpleAsyncExecutor.html" title="class in bitronix.tm.twopc.executor" target="classFrame">SimpleAsyncExecutor</A>
+<BR>
+<A HREF="bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common" target="classFrame"><I>StateChangeListener</I></A>
+<BR>
+<A HREF="bitronix/tm/twopc/executor/SyncExecutor.html" title="class in bitronix.tm.twopc.executor" target="classFrame">SyncExecutor</A>
+<BR>
+<A HREF="bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer" target="classFrame">Task</A>
+<BR>
+<A HREF="bitronix/tm/timer/TaskException.html" title="class in bitronix.tm.timer" target="classFrame">TaskException</A>
+<BR>
+<A HREF="bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer" target="classFrame">TaskScheduler</A>
+<BR>
+<A HREF="bitronix/tm/internal/ThreadContext.html" title="class in bitronix.tm.internal" target="classFrame">ThreadContext</A>
+<BR>
+<A HREF="bitronix/tm/resource/jms/TopicSubscriberWrapper.html" title="class in bitronix.tm.resource.jms" target="classFrame">TopicSubscriberWrapper</A>
+<BR>
+<A HREF="bitronix/tm/resource/common/TransactionContextHelper.html" title="class in bitronix.tm.resource.common" target="classFrame">TransactionContextHelper</A>
+<BR>
+<A HREF="bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal" target="classFrame">TransactionLogAppender</A>
+<BR>
+<A HREF="bitronix/tm/journal/TransactionLogCursor.html" title="class in bitronix.tm.journal" target="classFrame">TransactionLogCursor</A>
+<BR>
+<A HREF="bitronix/tm/gui/TransactionLogDialog.html" title="class in bitronix.tm.gui" target="classFrame">TransactionLogDialog</A>
+<BR>
+<A HREF="bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal" target="classFrame">TransactionLogHeader</A>
+<BR>
+<A HREF="bitronix/tm/gui/TransactionLogHeaderPanel.html" title="class in bitronix.tm.gui" target="classFrame">TransactionLogHeaderPanel</A>
+<BR>
+<A HREF="bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal" target="classFrame">TransactionLogRecord</A>
+<BR>
+<A HREF="bitronix/tm/TransactionManagerServices.html" title="class in bitronix.tm" target="classFrame">TransactionManagerServices</A>
+<BR>
+<A HREF="bitronix/tm/internal/TransactionStatusChangeListener.html" title="interface in bitronix.tm.internal" target="classFrame"><I>TransactionStatusChangeListener</I></A>
+<BR>
+<A HREF="bitronix/tm/gui/TransactionTableCellRenderer.html" title="class in bitronix.tm.gui" target="classFrame">TransactionTableCellRenderer</A>
+<BR>
+<A HREF="bitronix/tm/gui/TransactionTableModel.html" title="class in bitronix.tm.gui" target="classFrame">TransactionTableModel</A>
+<BR>
+<A HREF="bitronix/tm/gui/TransactionTableMouseListener.html" title="class in bitronix.tm.gui" target="classFrame">TransactionTableMouseListener</A>
+<BR>
+<A HREF="bitronix/tm/internal/TransactionTimeoutException.html" title="class in bitronix.tm.internal" target="classFrame">TransactionTimeoutException</A>
+<BR>
+<A HREF="bitronix/tm/timer/TransactionTimeoutTask.html" title="class in bitronix.tm.timer" target="classFrame">TransactionTimeoutTask</A>
+<BR>
+<A HREF="bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils" target="classFrame">Uid</A>
+<BR>
+<A HREF="bitronix/tm/utils/UidGenerator.html" title="class in bitronix.tm.utils" target="classFrame">UidGenerator</A>
+<BR>
+<A HREF="bitronix/tm/Version.html" title="class in bitronix.tm" target="classFrame">Version</A>
+<BR>
+<A HREF="bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common" target="classFrame">XAPool</A>
+<BR>
+<A HREF="bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common" target="classFrame"><I>XAResourceHolder</I></A>
+<BR>
+<A HREF="bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal" target="classFrame">XAResourceHolderState</A>
+<BR>
+<A HREF="bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal" target="classFrame">XAResourceManager</A>
+<BR>
+<A HREF="bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common" target="classFrame"><I>XAResourceProducer</I></A>
+<BR>
+<A HREF="bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common" target="classFrame"><I>XAStatefulHolder</I></A>
+<BR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+</BODY>
+</HTML>
diff --git a/doc/api/allclasses-noframe.html b/doc/api/allclasses-noframe.html
new file mode 100644
index 0000000..2672393
--- /dev/null
+++ b/doc/api/allclasses-noframe.html
@@ -0,0 +1,296 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+All Classes (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B>All Classes</B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc">AbstractPhaseEngine</A>
+<BR>
+<A HREF="bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A>
+<BR>
+<A HREF="bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">AbstractXAStatefulHolder</A>
+<BR>
+<A HREF="bitronix/tm/twopc/executor/BackportConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor">BackportConcurrentExecutor</A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">BaseProxyHandlerClass</A>
+<BR>
+<A HREF="bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<BR>
+<A HREF="bitronix/tm/internal/BitronixHeuristicCommitException.html" title="class in bitronix.tm.internal">BitronixHeuristicCommitException</A>
+<BR>
+<A HREF="bitronix/tm/internal/BitronixHeuristicMixedException.html" title="class in bitronix.tm.internal">BitronixHeuristicMixedException</A>
+<BR>
+<A HREF="bitronix/tm/internal/BitronixHeuristicRollbackException.html" title="class in bitronix.tm.internal">BitronixHeuristicRollbackException</A>
+<BR>
+<A HREF="bitronix/tm/jndi/BitronixInitialContextFactory.html" title="class in bitronix.tm.jndi">BitronixInitialContextFactory</A>
+<BR>
+<A HREF="bitronix/tm/internal/BitronixMultiSystemException.html" title="class in bitronix.tm.internal">BitronixMultiSystemException</A>
+<BR>
+<A HREF="bitronix/tm/internal/BitronixRollbackException.html" title="class in bitronix.tm.internal">BitronixRollbackException</A>
+<BR>
+<A HREF="bitronix/tm/internal/BitronixRollbackSystemException.html" title="class in bitronix.tm.internal">BitronixRollbackSystemException</A>
+<BR>
+<A HREF="bitronix/tm/internal/BitronixRuntimeException.html" title="class in bitronix.tm.internal">BitronixRuntimeException</A>
+<BR>
+<A HREF="bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A>
+<BR>
+<A HREF="bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A>
+<BR>
+<A HREF="bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm">BitronixTransactionManager</A>
+<BR>
+<A HREF="bitronix/tm/BitronixTransactionManagerObjectFactory.html" title="class in bitronix.tm">BitronixTransactionManagerObjectFactory</A>
+<BR>
+<A HREF="bitronix/tm/BitronixTransactionMBean.html" title="interface in bitronix.tm"><I>BitronixTransactionMBean</I></A>
+<BR>
+<A HREF="bitronix/tm/BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm">BitronixTransactionSynchronizationRegistry</A>
+<BR>
+<A HREF="bitronix/tm/BitronixTransactionSynchronizationRegistryObjectFactory.html" title="class in bitronix.tm">BitronixTransactionSynchronizationRegistryObjectFactory</A>
+<BR>
+<A HREF="bitronix/tm/BitronixUserTransactionObjectFactory.html" title="class in bitronix.tm">BitronixUserTransactionObjectFactory</A>
+<BR>
+<A HREF="bitronix/tm/internal/BitronixXAException.html" title="class in bitronix.tm.internal">BitronixXAException</A>
+<BR>
+<A HREF="bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A>
+<BR>
+<A HREF="bitronix/tm/utils/ClassLoaderUtils.html" title="class in bitronix.tm.utils">ClassLoaderUtils</A>
+<BR>
+<A HREF="bitronix/tm/utils/CollectionUtils.html" title="class in bitronix.tm.utils">CollectionUtils</A>
+<BR>
+<A HREF="bitronix/tm/twopc/Committer.html" title="class in bitronix.tm.twopc">Committer</A>
+<BR>
+<A HREF="bitronix/tm/twopc/executor/ConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor">ConcurrentExecutor</A>
+<BR>
+<A HREF="bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/ConnectionCustomizer.html" title="interface in bitronix.tm.resource.jdbc"><I>ConnectionCustomizer</I></A>
+<BR>
+<A HREF="bitronix/tm/gui/Console.html" title="class in bitronix.tm.gui">Console</A>
+<BR>
+<A HREF="bitronix/tm/journal/CorruptedTransactionLogException.html" title="class in bitronix.tm.journal">CorruptedTransactionLogException</A>
+<BR>
+<A HREF="bitronix/tm/utils/CryptoEngine.html" title="class in bitronix.tm.utils">CryptoEngine</A>
+<BR>
+<A HREF="bitronix/tm/recovery/DanglingTransaction.html" title="class in bitronix.tm.recovery">DanglingTransaction</A>
+<BR>
+<A HREF="bitronix/tm/utils/Decoder.html" title="class in bitronix.tm.utils">Decoder</A>
+<BR>
+<A HREF="bitronix/tm/resource/common/DeferredReleaseSynchronization.html" title="class in bitronix.tm.resource.common">DeferredReleaseSynchronization</A>
+<BR>
+<A HREF="bitronix/tm/journal/DiskForceBatcherThread.html" title="class in bitronix.tm.journal">DiskForceBatcherThread</A>
+<BR>
+<A HREF="bitronix/tm/journal/DiskForceWaitQueue.html" title="class in bitronix.tm.journal">DiskForceWaitQueue</A>
+<BR>
+<A HREF="bitronix/tm/journal/DiskJournal.html" title="class in bitronix.tm.journal">DiskJournal</A>
+<BR>
+<A HREF="bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<BR>
+<A HREF="bitronix/tm/gui/DuplicatedGtridTableModel.html" title="class in bitronix.tm.gui">DuplicatedGtridTableModel</A>
+<BR>
+<A HREF="bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html" title="class in bitronix.tm.resource.ehcache">EhCacheXAResourceHolder</A>
+<BR>
+<A HREF="bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html" title="class in bitronix.tm.resource.ehcache">EhCacheXAResourceProducer</A>
+<BR>
+<A HREF="bitronix/tm/utils/Encoder.html" title="class in bitronix.tm.utils">Encoder</A>
+<BR>
+<A HREF="bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor"><I>Executor</I></A>
+<BR>
+<A HREF="bitronix/tm/recovery/IncrementalRecoverer.html" title="class in bitronix.tm.recovery">IncrementalRecoverer</A>
+<BR>
+<A HREF="bitronix/tm/utils/InitializationException.html" title="class in bitronix.tm.utils">InitializationException</A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcCallableStatementHandle</A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jdbc"><I>JdbcPooledConnectionMBean</I></A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/JdbcStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcStatementHandle</A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcUncachedPreparedStatementHandle</A>
+<BR>
+<A HREF="bitronix/tm/resource/jms/JmsConnectionHandle.html" title="class in bitronix.tm.resource.jms">JmsConnectionHandle</A>
+<BR>
+<A HREF="bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A>
+<BR>
+<A HREF="bitronix/tm/resource/jms/JmsPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jms"><I>JmsPooledConnectionMBean</I></A>
+<BR>
+<A HREF="bitronix/tm/resource/jms/JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms">JndiXAConnectionFactory</A>
+<BR>
+<A HREF="bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A>
+<BR>
+<A HREF="bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal"><I>Journal</I></A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcConnectionHandle</A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAConnection</A>
+<BR>
+<A HREF="bitronix/tm/resource/jms/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAConnection</A>
+<BR>
+<A HREF="bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAConnectionFactory</A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXADataSource</A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAResource</A>
+<BR>
+<A HREF="bitronix/tm/resource/jms/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAResource</A>
+<BR>
+<A HREF="bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/LruEvictionListener.html" title="interface in bitronix.tm.resource.jdbc"><I>LruEvictionListener</I></A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/LruStatementCache.html" title="class in bitronix.tm.resource.jdbc">LruStatementCache</A>
+<BR>
+<A HREF="bitronix/tm/utils/ManagementRegistrar.html" title="class in bitronix.tm.utils">ManagementRegistrar</A>
+<BR>
+<A HREF="bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms">MessageConsumerWrapper</A>
+<BR>
+<A HREF="bitronix/tm/resource/jms/MessageProducerConsumerKey.html" title="class in bitronix.tm.resource.jms">MessageProducerConsumerKey</A>
+<BR>
+<A HREF="bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms">MessageProducerWrapper</A>
+<BR>
+<A HREF="bitronix/tm/journal/NullJournal.html" title="class in bitronix.tm.journal">NullJournal</A>
+<BR>
+<A HREF="bitronix/tm/gui/PendingTransactionTableModel.html" title="class in bitronix.tm.gui">PendingTransactionTableModel</A>
+<BR>
+<A HREF="bitronix/tm/twopc/PhaseException.html" title="class in bitronix.tm.twopc">PhaseException</A>
+<BR>
+<A HREF="bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A>
+<BR>
+<A HREF="bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" title="interface in bitronix.tm.resource.jms"><I>PoolingConnectionFactoryMBean</I></A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<BR>
+<A HREF="bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html" title="interface in bitronix.tm.resource.jdbc"><I>PoolingDataSourceMBean</I></A>
+<BR>
+<A HREF="bitronix/tm/timer/PoolShrinkingTask.html" title="class in bitronix.tm.timer">PoolShrinkingTask</A>
+<BR>
+<A HREF="bitronix/tm/twopc/Preparer.html" title="class in bitronix.tm.twopc">Preparer</A>
+<BR>
+<A HREF="bitronix/tm/utils/PropertyException.html" title="class in bitronix.tm.utils">PropertyException</A>
+<BR>
+<A HREF="bitronix/tm/utils/PropertyUtils.html" title="class in bitronix.tm.utils">PropertyUtils</A>
+<BR>
+<A HREF="bitronix/tm/gui/RawTransactionTableModel.html" title="class in bitronix.tm.gui">RawTransactionTableModel</A>
+<BR>
+<A HREF="bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A>
+<BR>
+<A HREF="bitronix/tm/recovery/RecovererMBean.html" title="interface in bitronix.tm.recovery"><I>RecovererMBean</I></A>
+<BR>
+<A HREF="bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A>
+<BR>
+<A HREF="bitronix/tm/recovery/RecoveryHelper.html" title="class in bitronix.tm.recovery">RecoveryHelper</A>
+<BR>
+<A HREF="bitronix/tm/timer/RecoveryTask.html" title="class in bitronix.tm.timer">RecoveryTask</A>
+<BR>
+<A HREF="bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common">RecoveryXAResourceHolder</A>
+<BR>
+<A HREF="bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<BR>
+<A HREF="bitronix/tm/resource/ResourceConfigurationException.html" title="class in bitronix.tm.resource">ResourceConfigurationException</A>
+<BR>
+<A HREF="bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource">ResourceLoader</A>
+<BR>
+<A HREF="bitronix/tm/resource/ResourceObjectFactory.html" title="class in bitronix.tm.resource">ResourceObjectFactory</A>
+<BR>
+<A HREF="bitronix/tm/resource/ResourceRegistrar.html" title="class in bitronix.tm.resource">ResourceRegistrar</A>
+<BR>
+<A HREF="bitronix/tm/gui/ResourcesPanel.html" title="class in bitronix.tm.gui">ResourcesPanel</A>
+<BR>
+<A HREF="bitronix/tm/gui/ResourcesTreeModel.html" title="class in bitronix.tm.gui">ResourcesTreeModel</A>
+<BR>
+<A HREF="bitronix/tm/twopc/Rollbacker.html" title="class in bitronix.tm.twopc">Rollbacker</A>
+<BR>
+<A HREF="bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils">Scheduler</A>
+<BR>
+<A HREF="bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils"><I>Service</I></A>
+<BR>
+<A HREF="bitronix/tm/twopc/executor/SimpleAsyncExecutor.html" title="class in bitronix.tm.twopc.executor">SimpleAsyncExecutor</A>
+<BR>
+<A HREF="bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common"><I>StateChangeListener</I></A>
+<BR>
+<A HREF="bitronix/tm/twopc/executor/SyncExecutor.html" title="class in bitronix.tm.twopc.executor">SyncExecutor</A>
+<BR>
+<A HREF="bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer">Task</A>
+<BR>
+<A HREF="bitronix/tm/timer/TaskException.html" title="class in bitronix.tm.timer">TaskException</A>
+<BR>
+<A HREF="bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A>
+<BR>
+<A HREF="bitronix/tm/internal/ThreadContext.html" title="class in bitronix.tm.internal">ThreadContext</A>
+<BR>
+<A HREF="bitronix/tm/resource/jms/TopicSubscriberWrapper.html" title="class in bitronix.tm.resource.jms">TopicSubscriberWrapper</A>
+<BR>
+<A HREF="bitronix/tm/resource/common/TransactionContextHelper.html" title="class in bitronix.tm.resource.common">TransactionContextHelper</A>
+<BR>
+<A HREF="bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal">TransactionLogAppender</A>
+<BR>
+<A HREF="bitronix/tm/journal/TransactionLogCursor.html" title="class in bitronix.tm.journal">TransactionLogCursor</A>
+<BR>
+<A HREF="bitronix/tm/gui/TransactionLogDialog.html" title="class in bitronix.tm.gui">TransactionLogDialog</A>
+<BR>
+<A HREF="bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal">TransactionLogHeader</A>
+<BR>
+<A HREF="bitronix/tm/gui/TransactionLogHeaderPanel.html" title="class in bitronix.tm.gui">TransactionLogHeaderPanel</A>
+<BR>
+<A HREF="bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A>
+<BR>
+<A HREF="bitronix/tm/TransactionManagerServices.html" title="class in bitronix.tm">TransactionManagerServices</A>
+<BR>
+<A HREF="bitronix/tm/internal/TransactionStatusChangeListener.html" title="interface in bitronix.tm.internal"><I>TransactionStatusChangeListener</I></A>
+<BR>
+<A HREF="bitronix/tm/gui/TransactionTableCellRenderer.html" title="class in bitronix.tm.gui">TransactionTableCellRenderer</A>
+<BR>
+<A HREF="bitronix/tm/gui/TransactionTableModel.html" title="class in bitronix.tm.gui">TransactionTableModel</A>
+<BR>
+<A HREF="bitronix/tm/gui/TransactionTableMouseListener.html" title="class in bitronix.tm.gui">TransactionTableMouseListener</A>
+<BR>
+<A HREF="bitronix/tm/internal/TransactionTimeoutException.html" title="class in bitronix.tm.internal">TransactionTimeoutException</A>
+<BR>
+<A HREF="bitronix/tm/timer/TransactionTimeoutTask.html" title="class in bitronix.tm.timer">TransactionTimeoutTask</A>
+<BR>
+<A HREF="bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A>
+<BR>
+<A HREF="bitronix/tm/utils/UidGenerator.html" title="class in bitronix.tm.utils">UidGenerator</A>
+<BR>
+<A HREF="bitronix/tm/Version.html" title="class in bitronix.tm">Version</A>
+<BR>
+<A HREF="bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A>
+<BR>
+<A HREF="bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><I>XAResourceHolder</I></A>
+<BR>
+<A HREF="bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A>
+<BR>
+<A HREF="bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal">XAResourceManager</A>
+<BR>
+<A HREF="bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><I>XAResourceProducer</I></A>
+<BR>
+<A HREF="bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><I>XAStatefulHolder</I></A>
+<BR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/BitronixTransaction.html b/doc/api/bitronix/tm/BitronixTransaction.html
new file mode 100644
index 0000000..91c2394
--- /dev/null
+++ b/doc/api/bitronix/tm/BitronixTransaction.html
@@ -0,0 +1,812 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:01 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+BitronixTransaction (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="BitronixTransaction (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixTransaction.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?bitronix/tm/BitronixTransaction.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixTransaction.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm</FONT>
+<BR>
+Class BitronixTransaction</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.BitronixTransaction</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../bitronix/tm/BitronixTransactionMBean.html" title="interface in bitronix.tm">BitronixTransactionMBean</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true" title="class or interface in javax.transaction">Transaction</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>BitronixTransaction</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true" title="class or interface in javax.transaction">Transaction</A>, <A HREF="../../bitronix/tm/BitronixTransactionMBean.html" title="interface in bitronix.tm">BitronixTransactionM [...]
+</PRE>
+
+<P>
+Implementation of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true" title="class or interface in javax.transaction"><CODE>Transaction</CODE></A>.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransaction.html#BitronixTransaction()">BitronixTransaction</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransaction.html#addTransactionStatusChangeListener(bitronix.tm.internal.TransactionStatusChangeListener)">addTransactionStatusChangeListener</A></B>(<A HREF="../../bitronix/tm/internal/TransactionStatusChangeListener.html" title="interface in bitronix.tm.internal">TransactionStatusChangeListener</A> listener)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransaction.html#commit()">commit</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransaction.html#delistResource(javax.transaction.xa.XAResource, int)">delistResource</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource,
+ int flag)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransaction.html#enlistResource(javax.transaction.xa.XAResource)">enlistResource</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransaction.html#equals(java.lang.Object)">equals</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> obj)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransaction.html#getEnlistedResourcesUniqueNames()">getEnlistedResourcesUniqueNames</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransaction.html#getGtrid()">getGtrid</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal">XAResourceManager</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransaction.html#getResourceManager()">getResourceManager</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransaction.html#getStartDate()">getStartDate</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransaction.html#getStatus()">getStatus</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransaction.html#getStatusDescription()">getStatusDescription</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils">Scheduler</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransaction.html#getSynchronizationScheduler()">getSynchronizationScheduler</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransaction.html#getThreadName()">getThreadName</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransaction.html#hashCode()">hashCode</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransaction.html#registerSynchronization(javax.transaction.Synchronization)">registerSynchronization</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Synchronization.html?is-external=true" title="class or interface in javax.transaction">Synchronization</A> synchronization)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransaction.html#rollback()">rollback</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransaction.html#setActive(int)">setActive</A></B>(int timeout)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransaction.html#setRollbackOnly()">setRollbackOnly</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransaction.html#setStatus(int)">setStatus</A></B>(int status)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransaction.html#setStatus(int, java.util.Set)">setStatus</A></B>(int status,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A> uniqueNames)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransaction.html#timedOut()">timedOut</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransaction.html#timeout()">timeout</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransaction.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.c [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="BitronixTransaction()"><!-- --></A><H3>
+BitronixTransaction</H3>
+<PRE>
+public <B>BitronixTransaction</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getStatus()"><!-- --></A><H3>
+getStatus</H3>
+<PRE>
+public int <B>getStatus</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true#getStatus()" title="class or interface in javax.transaction">getStatus</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true" title="class or interface in javax.transaction">Transaction</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="enlistResource(javax.transaction.xa.XAResource)"><!-- --></A><H3>
+enlistResource</H3>
+<PRE>
+public boolean <B>enlistResource</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/RollbackException.html?is-external=true" title="class or interface in javax.transaction">RollbackException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true#enlistResource(javax.transaction.xa.XAResource)" title="class or interface in javax.transaction">enlistResource</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true" title="class or interface in javax.transaction">Transaction</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/RollbackException.html?is-external=true" title="class or interface in javax.transaction">RollbackException</A></CODE>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</A></CODE>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="delistResource(javax.transaction.xa.XAResource, int)"><!-- --></A><H3>
+delistResource</H3>
+<PRE>
+public boolean <B>delistResource</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource,
+ int flag)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true#delistResource(javax.transaction.xa.XAResource, int)" title="class or interface in javax.transaction">delistResource</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true" title="class or interface in javax.transaction">Transaction</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</A></CODE>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="registerSynchronization(javax.transaction.Synchronization)"><!-- --></A><H3>
+registerSynchronization</H3>
+<PRE>
+public void <B>registerSynchronization</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Synchronization.html?is-external=true" title="class or interface in javax.transaction">Synchronization</A> synchronization)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/RollbackException.html?is-external=true" title="class or interface in javax.transaction">RollbackException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true#registerSynchronization(javax.transaction.Synchronization)" title="class or interface in javax.transaction">registerSynchronization</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true" title="class or interface in javax.transaction">Transaction</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/RollbackException.html?is-external=true" title="class or interface in javax.transaction">RollbackException</A></CODE>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</A></CODE>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSynchronizationScheduler()"><!-- --></A><H3>
+getSynchronizationScheduler</H3>
+<PRE>
+public <A HREF="../../bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils">Scheduler</A> <B>getSynchronizationScheduler</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="commit()"><!-- --></A><H3>
+commit</H3>
+<PRE>
+public void <B>commit</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/RollbackException.html?is-external=true" title="class or interface in javax.transaction">RollbackException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicMixedException.html?is-external=true" title="class or interface in javax.transaction">HeuristicMixedException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicRollbackException.html?is-external=true" title="class or interface in javax.transaction">HeuristicRollbackException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/SecurityException.html?is-external=true" title="class or interface in java.lang">SecurityException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true#commit()" title="class or interface in javax.transaction">commit</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true" title="class or interface in javax.transaction">Transaction</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/RollbackException.html?is-external=true" title="class or interface in javax.transaction">RollbackException</A></CODE>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicMixedException.html?is-external=true" title="class or interface in javax.transaction">HeuristicMixedException</A></CODE>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicRollbackException.html?is-external=true" title="class or interface in javax.transaction">HeuristicRollbackException</A></CODE>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/SecurityException.html?is-external=true" title="class or interface in java.lang">SecurityException</A></CODE>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="rollback()"><!-- --></A><H3>
+rollback</H3>
+<PRE>
+public void <B>rollback</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true#rollback()" title="class or interface in javax.transaction">rollback</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true" title="class or interface in javax.transaction">Transaction</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</A></CODE>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setRollbackOnly()"><!-- --></A><H3>
+setRollbackOnly</H3>
+<PRE>
+public void <B>setRollbackOnly</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true#setRollbackOnly()" title="class or interface in javax.transaction">setRollbackOnly</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true" title="class or interface in javax.transaction">Transaction</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</A></CODE>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getResourceManager()"><!-- --></A><H3>
+getResourceManager</H3>
+<PRE>
+public <A HREF="../../bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal">XAResourceManager</A> <B>getResourceManager</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="timeout()"><!-- --></A><H3>
+timeout</H3>
+<PRE>
+public void <B>timeout</B>()
+ throws <A HREF="../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="timedOut()"><!-- --></A><H3>
+timedOut</H3>
+<PRE>
+public boolean <B>timedOut</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setActive(int)"><!-- --></A><H3>
+setActive</H3>
+<PRE>
+public void <B>setActive</B>(int timeout)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</A></CODE>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setStatus(int)"><!-- --></A><H3>
+setStatus</H3>
+<PRE>
+public void <B>setStatus</B>(int status)
+ throws <A HREF="../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setStatus(int, java.util.Set)"><!-- --></A><H3>
+setStatus</H3>
+<PRE>
+public void <B>setStatus</B>(int status,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A> uniqueNames)
+ throws <A HREF="../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addTransactionStatusChangeListener(bitronix.tm.internal.TransactionStatusChangeListener)"><!-- --></A><H3>
+addTransactionStatusChangeListener</H3>
+<PRE>
+public void <B>addTransactionStatusChangeListener</B>(<A HREF="../../bitronix/tm/internal/TransactionStatusChangeListener.html" title="interface in bitronix.tm.internal">TransactionStatusChangeListener</A> listener)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hashCode()"><!-- --></A><H3>
+hashCode</H3>
+<PRE>
+public int <B>hashCode</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="equals(java.lang.Object)"><!-- --></A><H3>
+equals</H3>
+<PRE>
+public boolean <B>equals</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> obj)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGtrid()"><!-- --></A><H3>
+getGtrid</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getGtrid</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../bitronix/tm/BitronixTransactionMBean.html#getGtrid()">getGtrid</A></CODE> in interface <CODE><A HREF="../../bitronix/tm/BitronixTransactionMBean.html" title="interface in bitronix.tm">BitronixTransactionMBean</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getStatusDescription()"><!-- --></A><H3>
+getStatusDescription</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getStatusDescription</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../bitronix/tm/BitronixTransactionMBean.html#getStatusDescription()">getStatusDescription</A></CODE> in interface <CODE><A HREF="../../bitronix/tm/BitronixTransactionMBean.html" title="interface in bitronix.tm">BitronixTransactionMBean</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getEnlistedResourcesUniqueNames()"><!-- --></A><H3>
+getEnlistedResourcesUniqueNames</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</A> <B>getEnlistedResourcesUniqueNames</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../bitronix/tm/BitronixTransactionMBean.html#getEnlistedResourcesUniqueNames()">getEnlistedResourcesUniqueNames</A></CODE> in interface <CODE><A HREF="../../bitronix/tm/BitronixTransactionMBean.html" title="interface in bitronix.tm">BitronixTransactionMBean</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getThreadName()"><!-- --></A><H3>
+getThreadName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getThreadName</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../bitronix/tm/BitronixTransactionMBean.html#getThreadName()">getThreadName</A></CODE> in interface <CODE><A HREF="../../bitronix/tm/BitronixTransactionMBean.html" title="interface in bitronix.tm">BitronixTransactionMBean</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getStartDate()"><!-- --></A><H3>
+getStartDate</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> <B>getStartDate</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../bitronix/tm/BitronixTransactionMBean.html#getStartDate()">getStartDate</A></CODE> in interface <CODE><A HREF="../../bitronix/tm/BitronixTransactionMBean.html" title="interface in bitronix.tm">BitronixTransactionMBean</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixTransaction.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?bitronix/tm/BitronixTransaction.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixTransaction.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/BitronixTransactionMBean.html b/doc/api/bitronix/tm/BitronixTransactionMBean.html
new file mode 100644
index 0000000..fe1cfce
--- /dev/null
+++ b/doc/api/bitronix/tm/BitronixTransactionMBean.html
@@ -0,0 +1,294 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:01 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+BitronixTransactionMBean (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="BitronixTransactionMBean (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixTransactionMBean.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../bitronix/tm/BitronixTransactionManagerObjectFactory.html" title="class in bitronix.tm"><B>PREV CLASS</B></A>
+ <A HREF="../../bitronix/tm/BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?bitronix/tm/BitronixTransactionMBean.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixTransactionMBean.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm</FONT>
+<BR>
+Interface BitronixTransactionMBean</H2>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public interface <B>BitronixTransactionMBean</B></DL>
+</PRE>
+
+<P>
+<A HREF="../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm"><CODE>BitronixTransaction</CODE></A> Management interface.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionMBean.html#getEnlistedResourcesUniqueNames()">getEnlistedResourcesUniqueNames</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionMBean.html#getGtrid()">getGtrid</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionMBean.html#getStartDate()">getStartDate</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionMBean.html#getStatusDescription()">getStatusDescription</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionMBean.html#getThreadName()">getThreadName</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getGtrid()"><!-- --></A><H3>
+getGtrid</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getGtrid</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getStatusDescription()"><!-- --></A><H3>
+getStatusDescription</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getStatusDescription</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getThreadName()"><!-- --></A><H3>
+getThreadName</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getThreadName</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getStartDate()"><!-- --></A><H3>
+getStartDate</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> <B>getStartDate</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getEnlistedResourcesUniqueNames()"><!-- --></A><H3>
+getEnlistedResourcesUniqueNames</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</A> <B>getEnlistedResourcesUniqueNames</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixTransactionMBean.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../bitronix/tm/BitronixTransactionManagerObjectFactory.html" title="class in bitronix.tm"><B>PREV CLASS</B></A>
+ <A HREF="../../bitronix/tm/BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?bitronix/tm/BitronixTransactionMBean.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixTransactionMBean.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/BitronixTransactionManager.html b/doc/api/bitronix/tm/BitronixTransactionManager.html
new file mode 100644
index 0000000..8de51cb
--- /dev/null
+++ b/doc/api/bitronix/tm/BitronixTransactionManager.html
@@ -0,0 +1,679 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:01 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+BitronixTransactionManager (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="BitronixTransactionManager (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixTransactionManager.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm"><B>PREV CLASS</B></A>
+ <A HREF="../../bitronix/tm/BitronixTransactionManagerObjectFactory.html" title="class in bitronix.tm"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?bitronix/tm/BitronixTransactionManager.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixTransactionManager.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm</FONT>
+<BR>
+Class BitronixTransactionManager</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.BitronixTransactionManager</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Referenceable.html?is-external=true" title="class or interface in javax.naming">Referenceable</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionManager.html?is-external=true" title="class or interface in javax.transaction">TransactionManager</A>, <A HREF= [...]
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>BitronixTransactionManager</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionManager.html?is-external=true" title="class or interface in javax.transaction">TransactionManager</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/UserTransaction.html?is [...]
+</PRE>
+
+<P>
+Implementation of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionManager.html?is-external=true" title="class or interface in javax.transaction"><CODE>TransactionManager</CODE></A> and <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/UserTransaction.html?is-external=true" title="class or interface in javax.transaction"><CODE>UserTransaction</CODE></A>.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionManager.html#BitronixTransactionManager()">BitronixTransactionManager</A></B>()</CODE>
+
+<BR>
+ Create the <A HREF="../../bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm"><CODE>BitronixTransactionManager</CODE></A>.</TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionManager.html#begin()">begin</A></B>()</CODE>
+
+<BR>
+ Start a new transaction and bind the context to the calling thread.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionManager.html#commit()">commit</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionManager.html#dumpTransactionContexts()">dumpTransactionContexts</A></B>()</CODE>
+
+<BR>
+ Dump an overview of all running transactions as debug logs.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionManager.html#getCurrentTransaction()">getCurrentTransaction</A></B>()</CODE>
+
+<BR>
+ Get the transaction currently registered on the current thread context.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionManager.html#getInFlightTransactions()">getInFlightTransactions</A></B>()</CODE>
+
+<BR>
+ Return all in-flight transactions.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionManager.html#getOldestInFlightTransactionTimestamp()">getOldestInFlightTransactionTimestamp</A></B>()</CODE>
+
+<BR>
+ Return the timestamp of the oldest in-flight transaction.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Reference.html?is-external=true" title="class or interface in javax.naming">Reference</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionManager.html#getReference()">getReference</A></B>()</CODE>
+
+<BR>
+ BitronixTransactionManager can only have a single instance per JVM so this method always returns a reference
+ with no special information to find back the sole instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionManager.html#getStatus()">getStatus</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true" title="class or interface in javax.transaction">Transaction</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionManager.html#getTransaction()">getTransaction</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionManager.html#resume(javax.transaction.Transaction)">resume</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true" title="class or interface in javax.transaction">Transaction</A> transaction)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionManager.html#rollback()">rollback</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionManager.html#setRollbackOnly()">setRollbackOnly</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionManager.html#setTransactionTimeout(int)">setTransactionTimeout</A></B>(int seconds)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionManager.html#shutdown()">shutdown</A></B>()</CODE>
+
+<BR>
+ Shut down the transaction manager and release all resources held by it.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true" title="class or interface in javax.transaction">Transaction</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionManager.html#suspend()">suspend</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionManager.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="BitronixTransactionManager()"><!-- --></A><H3>
+BitronixTransactionManager</H3>
+<PRE>
+public <B>BitronixTransactionManager</B>()</PRE>
+<DL>
+<DD>Create the <A HREF="../../bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm"><CODE>BitronixTransactionManager</CODE></A>. Open the journal, load resources and perform recovery
+ synchronously. The recovery service then gets scheduled for background recovery.
+<P>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="begin()"><!-- --></A><H3>
+begin</H3>
+<PRE>
+public void <B>begin</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/NotSupportedException.html?is-external=true" title="class or interface in javax.transaction">NotSupportedException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></PRE>
+<DL>
+<DD>Start a new transaction and bind the context to the calling thread.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionManager.html?is-external=true#begin()" title="class or interface in javax.transaction">begin</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionManager.html?is-external=true" title="class or interface in javax.transaction">TransactionManager</A></CODE><DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5 [...]
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/NotSupportedException.html?is-external=true" title="class or interface in javax.transaction">NotSupportedException</A></CODE> - if a transaction is already bound to the calling thread.
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></CODE> - if the transaction manager is shutting down.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="commit()"><!-- --></A><H3>
+commit</H3>
+<PRE>
+public void <B>commit</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/RollbackException.html?is-external=true" title="class or interface in javax.transaction">RollbackException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicMixedException.html?is-external=true" title="class or interface in javax.transaction">HeuristicMixedException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicRollbackException.html?is-external=true" title="class or interface in javax.transaction">HeuristicRollbackException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/SecurityException.html?is-external=true" title="class or interface in java.lang">SecurityException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionManager.html?is-external=true#commit()" title="class or interface in javax.transaction">commit</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionManager.html?is-external=true" title="class or interface in javax.transaction">TransactionManager</A></CODE><DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1 [...]
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/RollbackException.html?is-external=true" title="class or interface in javax.transaction">RollbackException</A></CODE>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicMixedException.html?is-external=true" title="class or interface in javax.transaction">HeuristicMixedException</A></CODE>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicRollbackException.html?is-external=true" title="class or interface in javax.transaction">HeuristicRollbackException</A></CODE>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/SecurityException.html?is-external=true" title="class or interface in java.lang">SecurityException</A></CODE>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</A></CODE>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="rollback()"><!-- --></A><H3>
+rollback</H3>
+<PRE>
+public void <B>rollback</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/SecurityException.html?is-external=true" title="class or interface in java.lang">SecurityException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionManager.html?is-external=true#rollback()" title="class or interface in javax.transaction">rollback</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionManager.html?is-external=true" title="class or interface in javax.transaction">TransactionManager</A></CODE><DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2 [...]
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</A></CODE>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/SecurityException.html?is-external=true" title="class or interface in java.lang">SecurityException</A></CODE>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getStatus()"><!-- --></A><H3>
+getStatus</H3>
+<PRE>
+public int <B>getStatus</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionManager.html?is-external=true#getStatus()" title="class or interface in javax.transaction">getStatus</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionManager.html?is-external=true" title="class or interface in javax.transaction">TransactionManager</A></CODE><DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/ [...]
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTransaction()"><!-- --></A><H3>
+getTransaction</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true" title="class or interface in javax.transaction">Transaction</A> <B>getTransaction</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionManager.html?is-external=true#getTransaction()" title="class or interface in javax.transaction">getTransaction</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionManager.html?is-external=true" title="class or interface in javax.transaction">TransactionManager</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setRollbackOnly()"><!-- --></A><H3>
+setRollbackOnly</H3>
+<PRE>
+public void <B>setRollbackOnly</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionManager.html?is-external=true#setRollbackOnly()" title="class or interface in javax.transaction">setRollbackOnly</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionManager.html?is-external=true" title="class or interface in javax.transaction">TransactionManager</A></CODE><DT><B>Specified by:</B><DD><CODE><A HREF="http://j [...]
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</A></CODE>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setTransactionTimeout(int)"><!-- --></A><H3>
+setTransactionTimeout</H3>
+<PRE>
+public void <B>setTransactionTimeout</B>(int seconds)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionManager.html?is-external=true#setTransactionTimeout(int)" title="class or interface in javax.transaction">setTransactionTimeout</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionManager.html?is-external=true" title="class or interface in javax.transaction">TransactionManager</A></CODE><DT><B>Specified by:</B><DD><CODE><A [...]
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="suspend()"><!-- --></A><H3>
+suspend</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true" title="class or interface in javax.transaction">Transaction</A> <B>suspend</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionManager.html?is-external=true#suspend()" title="class or interface in javax.transaction">suspend</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionManager.html?is-external=true" title="class or interface in javax.transaction">TransactionManager</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="resume(javax.transaction.Transaction)"><!-- --></A><H3>
+resume</H3>
+<PRE>
+public void <B>resume</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true" title="class or interface in javax.transaction">Transaction</A> transaction)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/InvalidTransactionException.html?is-external=true" title="class or interface in javax.transaction">InvalidTransactionException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionManager.html?is-external=true#resume(javax.transaction.Transaction)" title="class or interface in javax.transaction">resume</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionManager.html?is-external=true" title="class or interface in javax.transaction">TransactionManager</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/InvalidTransactionException.html?is-external=true" title="class or interface in javax.transaction">InvalidTransactionException</A></CODE>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</A></CODE>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getReference()"><!-- --></A><H3>
+getReference</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Reference.html?is-external=true" title="class or interface in javax.naming">Reference</A> <B>getReference</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD>BitronixTransactionManager can only have a single instance per JVM so this method always returns a reference
+ with no special information to find back the sole instance. BitronixTransactionManagerObjectFactory will be used
+ by the JNDI server to get the BitronixTransactionManager instance of the JVM.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Referenceable.html?is-external=true#getReference()" title="class or interface in javax.naming">getReference</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Referenceable.html?is-external=true" title="class or interface in javax.naming">Referenceable</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an empty reference to get the BitronixTransactionManager.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInFlightTransactions()"><!-- --></A><H3>
+getInFlightTransactions</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A> <B>getInFlightTransactions</B>()</PRE>
+<DL>
+<DD>Return all in-flight transactions.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a map of <A HREF="../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm"><CODE>BitronixTransaction</CODE></A> objects using <A HREF="../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils"><CODE>Uid</CODE></A> as key and <A HREF="../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm"><CODE>BitronixTransaction</CODE></A> as value.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getOldestInFlightTransactionTimestamp()"><!-- --></A><H3>
+getOldestInFlightTransactionTimestamp</H3>
+<PRE>
+public long <B>getOldestInFlightTransactionTimestamp</B>()</PRE>
+<DL>
+<DD>Return the timestamp of the oldest in-flight transaction.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the timestamp or Long.MIN_VALUE if there is no in-flight transaction.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCurrentTransaction()"><!-- --></A><H3>
+getCurrentTransaction</H3>
+<PRE>
+public <A HREF="../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> <B>getCurrentTransaction</B>()</PRE>
+<DL>
+<DD>Get the transaction currently registered on the current thread context.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the current transaction or null if no transaction has been started on the current thread.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="dumpTransactionContexts()"><!-- --></A><H3>
+dumpTransactionContexts</H3>
+<PRE>
+public void <B>dumpTransactionContexts</B>()</PRE>
+<DL>
+<DD>Dump an overview of all running transactions as debug logs.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="shutdown()"><!-- --></A><H3>
+shutdown</H3>
+<PRE>
+public void <B>shutdown</B>()</PRE>
+<DL>
+<DD>Shut down the transaction manager and release all resources held by it.
+ <p>This call will also close the resources pools registered by the <A HREF="../../bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource"><CODE>ResourceLoader</CODE></A>
+ like JMS and JDBC pools. The manually created ones are left untouched.</p>
+ <p>The Transaction Manager will wait during a configurable graceful period before forcibly killing active
+ transactions.</p>
+ After this method is called, attempts to create new transactions (via calls to
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionManager.html?is-external=true#begin()" title="class or interface in javax.transaction"><CODE>TransactionManager.begin()</CODE></A>) will be rejected with a <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction"><CODE>SystemException</CODE></A>.</p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../bitronix/tm/utils/Service.html#shutdown()">shutdown</A></CODE> in interface <CODE><A HREF="../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>See Also:</B><DD><A HREF="../../bitronix/tm/Configuration.html#getGracefulShutdownInterval()"><CODE>Configuration.getGracefulShutdownInterval()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixTransactionManager.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm"><B>PREV CLASS</B></A>
+ <A HREF="../../bitronix/tm/BitronixTransactionManagerObjectFactory.html" title="class in bitronix.tm"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?bitronix/tm/BitronixTransactionManager.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixTransactionManager.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/BitronixTransactionManagerObjectFactory.html b/doc/api/bitronix/tm/BitronixTransactionManagerObjectFactory.html
new file mode 100644
index 0000000..c19a13c
--- /dev/null
+++ b/doc/api/bitronix/tm/BitronixTransactionManagerObjectFactory.html
@@ -0,0 +1,284 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:01 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+BitronixTransactionManagerObjectFactory (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="BitronixTransactionManagerObjectFactory (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixTransactionManagerObjectFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm"><B>PREV CLASS</B></A>
+ <A HREF="../../bitronix/tm/BitronixTransactionMBean.html" title="interface in bitronix.tm"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?bitronix/tm/BitronixTransactionManagerObjectFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixTransactionManagerObjectFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm</FONT>
+<BR>
+Class BitronixTransactionManagerObjectFactory</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.BitronixTransactionManagerObjectFactory</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/ObjectFactory.html?is-external=true" title="class or interface in javax.naming.spi">ObjectFactory</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../bitronix/tm/BitronixUserTransactionObjectFactory.html" title="class in bitronix.tm">BitronixUserTransactionObjectFactory</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>BitronixTransactionManagerObjectFactory</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/ObjectFactory.html?is-external=true" title="class or interface in javax.naming.spi">ObjectFactory</A></DL>
+</PRE>
+
+<P>
+<A HREF="../../bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm"><CODE>BitronixTransactionManager</CODE></A> object factory for JNDI references.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionManagerObjectFactory.html#BitronixTransactionManagerObjectFactory()">BitronixTransactionManagerObjectFactory</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionManagerObjectFactory.html#getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable)">getObjectInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> obj,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A> nameCtx,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</A> environment)</CODE>
+
+<BR>
+ Since there can be only one transaction manager per VM instance, this method always returns a reference
+ to the unique BitronixTransactionManager object.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="BitronixTransactionManagerObjectFactory()"><!-- --></A><H3>
+BitronixTransactionManagerObjectFactory</H3>
+<PRE>
+public <B>BitronixTransactionManagerObjectFactory</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable)"><!-- --></A><H3>
+getObjectInstance</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getObjectInstance</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> obj,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A> nameCtx,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</A> environment)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD>Since there can be only one transaction manager per VM instance, this method always returns a reference
+ to the unique BitronixTransactionManager object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/ObjectFactory.html?is-external=true#getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable)" title="class or interface in javax.naming.spi">getObjectInstance</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/ObjectFactory.html?is-external=true" title="class or interface in javax.naming.spi">ObjectFactor [...]
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the unique transaction manager instance.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE><DT><B>See Also:</B><DD><A HREF="../../bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm"><CODE>BitronixTransactionManager</CODE></A></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixTransactionManagerObjectFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm"><B>PREV CLASS</B></A>
+ <A HREF="../../bitronix/tm/BitronixTransactionMBean.html" title="interface in bitronix.tm"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?bitronix/tm/BitronixTransactionManagerObjectFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixTransactionManagerObjectFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/BitronixTransactionSynchronizationRegistry.html b/doc/api/bitronix/tm/BitronixTransactionSynchronizationRegistry.html
new file mode 100644
index 0000000..564b361
--- /dev/null
+++ b/doc/api/bitronix/tm/BitronixTransactionSynchronizationRegistry.html
@@ -0,0 +1,426 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:01 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+BitronixTransactionSynchronizationRegistry (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="BitronixTransactionSynchronizationRegistry (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixTransactionSynchronizationRegistry.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../bitronix/tm/BitronixTransactionMBean.html" title="interface in bitronix.tm"><B>PREV CLASS</B></A>
+ <A HREF="../../bitronix/tm/BitronixTransactionSynchronizationRegistryObjectFactory.html" title="class in bitronix.tm"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?bitronix/tm/BitronixTransactionSynchronizationRegistry.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixTransactionSynchronizationRegistry.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm</FONT>
+<BR>
+Class BitronixTransactionSynchronizationRegistry</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.BitronixTransactionSynchronizationRegistry</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Referenceable.html?is-external=true" title="class or interface in javax.naming">Referenceable</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionSynchronizationRegistry.html?is-external=true" title="class or interface in javax.transaction">TransactionSynchronizationRegistry</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>BitronixTransactionSynchronizationRegistry</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionSynchronizationRegistry.html?is-external=true" title="class or interface in javax.transaction">TransactionSynchronizationRegistry</A>, <A HREF="http://java.sun.com/j2se/1.5.0/do [...]
+</PRE>
+
+<P>
+Implementation of JTA 1.1 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionSynchronizationRegistry.html?is-external=true" title="class or interface in javax.transaction"><CODE>TransactionSynchronizationRegistry</CODE></A>.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionSynchronizationRegistry.html#BitronixTransactionSynchronizationRegistry()">BitronixTransactionSynchronizationRegistry</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Reference.html?is-external=true" title="class or interface in javax.naming">Reference</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionSynchronizationRegistry.html#getReference()">getReference</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionSynchronizationRegistry.html#getResource(java.lang.Object)">getResource</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> key)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionSynchronizationRegistry.html#getRollbackOnly()">getRollbackOnly</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionSynchronizationRegistry.html#getTransactionKey()">getTransactionKey</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionSynchronizationRegistry.html#getTransactionStatus()">getTransactionStatus</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionSynchronizationRegistry.html#putResource(java.lang.Object, java.lang.Object)">putResource</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> key,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> value)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionSynchronizationRegistry.html#registerInterposedSynchronization(javax.transaction.Synchronization)">registerInterposedSynchronization</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Synchronization.html?is-external=true" title="class or interface in javax.transaction">Synchronization</A> synchronization)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionSynchronizationRegistry.html#setRollbackOnly()">setRollbackOnly</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="BitronixTransactionSynchronizationRegistry()"><!-- --></A><H3>
+BitronixTransactionSynchronizationRegistry</H3>
+<PRE>
+public <B>BitronixTransactionSynchronizationRegistry</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getResource(java.lang.Object)"><!-- --></A><H3>
+getResource</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getResource</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> key)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionSynchronizationRegistry.html?is-external=true#getResource(java.lang.Object)" title="class or interface in javax.transaction">getResource</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionSynchronizationRegistry.html?is-external=true" title="class or interface in javax.transaction">TransactionSynchronizationRegistry</A></ [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRollbackOnly()"><!-- --></A><H3>
+getRollbackOnly</H3>
+<PRE>
+public boolean <B>getRollbackOnly</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionSynchronizationRegistry.html?is-external=true#getRollbackOnly()" title="class or interface in javax.transaction">getRollbackOnly</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionSynchronizationRegistry.html?is-external=true" title="class or interface in javax.transaction">TransactionSynchronizationRegistry</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTransactionKey()"><!-- --></A><H3>
+getTransactionKey</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getTransactionKey</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionSynchronizationRegistry.html?is-external=true#getTransactionKey()" title="class or interface in javax.transaction">getTransactionKey</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionSynchronizationRegistry.html?is-external=true" title="class or interface in javax.transaction">TransactionSynchronizationRegistry</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTransactionStatus()"><!-- --></A><H3>
+getTransactionStatus</H3>
+<PRE>
+public int <B>getTransactionStatus</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionSynchronizationRegistry.html?is-external=true#getTransactionStatus()" title="class or interface in javax.transaction">getTransactionStatus</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionSynchronizationRegistry.html?is-external=true" title="class or interface in javax.transaction">TransactionSynchronizationRegistry</A> [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="putResource(java.lang.Object, java.lang.Object)"><!-- --></A><H3>
+putResource</H3>
+<PRE>
+public void <B>putResource</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> key,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> value)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionSynchronizationRegistry.html?is-external=true#putResource(java.lang.Object, java.lang.Object)" title="class or interface in javax.transaction">putResource</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionSynchronizationRegistry.html?is-external=true" title="class or interface in javax.transaction">TransactionSynchroniza [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="registerInterposedSynchronization(javax.transaction.Synchronization)"><!-- --></A><H3>
+registerInterposedSynchronization</H3>
+<PRE>
+public void <B>registerInterposedSynchronization</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Synchronization.html?is-external=true" title="class or interface in javax.transaction">Synchronization</A> synchronization)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionSynchronizationRegistry.html?is-external=true#registerInterposedSynchronization(javax.transaction.Synchronization)" title="class or interface in javax.transaction">registerInterposedSynchronization</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionSynchronizationRegistry.html?is-external=true" title="class or interface i [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setRollbackOnly()"><!-- --></A><H3>
+setRollbackOnly</H3>
+<PRE>
+public void <B>setRollbackOnly</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionSynchronizationRegistry.html?is-external=true#setRollbackOnly()" title="class or interface in javax.transaction">setRollbackOnly</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionSynchronizationRegistry.html?is-external=true" title="class or interface in javax.transaction">TransactionSynchronizationRegistry</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getReference()"><!-- --></A><H3>
+getReference</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Reference.html?is-external=true" title="class or interface in javax.naming">Reference</A> <B>getReference</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Referenceable.html?is-external=true#getReference()" title="class or interface in javax.naming">getReference</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Referenceable.html?is-external=true" title="class or interface in javax.naming">Referenceable</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixTransactionSynchronizationRegistry.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../bitronix/tm/BitronixTransactionMBean.html" title="interface in bitronix.tm"><B>PREV CLASS</B></A>
+ <A HREF="../../bitronix/tm/BitronixTransactionSynchronizationRegistryObjectFactory.html" title="class in bitronix.tm"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?bitronix/tm/BitronixTransactionSynchronizationRegistry.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixTransactionSynchronizationRegistry.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/BitronixTransactionSynchronizationRegistryObjectFactory.html b/doc/api/bitronix/tm/BitronixTransactionSynchronizationRegistryObjectFactory.html
new file mode 100644
index 0000000..5ebd193
--- /dev/null
+++ b/doc/api/bitronix/tm/BitronixTransactionSynchronizationRegistryObjectFactory.html
@@ -0,0 +1,281 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:01 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+BitronixTransactionSynchronizationRegistryObjectFactory (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="BitronixTransactionSynchronizationRegistryObjectFactory (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixTransactionSynchronizationRegistryObjectFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../bitronix/tm/BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm"><B>PREV CLASS</B></A>
+ <A HREF="../../bitronix/tm/BitronixUserTransactionObjectFactory.html" title="class in bitronix.tm"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?bitronix/tm/BitronixTransactionSynchronizationRegistryObjectFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixTransactionSynchronizationRegistryObjectFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm</FONT>
+<BR>
+Class BitronixTransactionSynchronizationRegistryObjectFactory</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.BitronixTransactionSynchronizationRegistryObjectFactory</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/ObjectFactory.html?is-external=true" title="class or interface in javax.naming.spi">ObjectFactory</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>BitronixTransactionSynchronizationRegistryObjectFactory</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/ObjectFactory.html?is-external=true" title="class or interface in javax.naming.spi">ObjectFactory</A></DL>
+</PRE>
+
+<P>
+<A HREF="../../bitronix/tm/BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm"><CODE>BitronixTransactionSynchronizationRegistry</CODE></A> object factory for JNDI references.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionSynchronizationRegistryObjectFactory.html#BitronixTransactionSynchronizationRegistryObjectFactory()">BitronixTransactionSynchronizationRegistryObjectFactory</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixTransactionSynchronizationRegistryObjectFactory.html#getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable)">getObjectInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> obj,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A> nameCtx,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</A> environment)</CODE>
+
+<BR>
+ Since there can be only one synchronization registry per VM instance, this method always returns a reference
+ to the unique BitronixTransactionSynchronizationRegistry object.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="BitronixTransactionSynchronizationRegistryObjectFactory()"><!-- --></A><H3>
+BitronixTransactionSynchronizationRegistryObjectFactory</H3>
+<PRE>
+public <B>BitronixTransactionSynchronizationRegistryObjectFactory</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable)"><!-- --></A><H3>
+getObjectInstance</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getObjectInstance</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> obj,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A> nameCtx,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</A> environment)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD>Since there can be only one synchronization registry per VM instance, this method always returns a reference
+ to the unique BitronixTransactionSynchronizationRegistry object.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/ObjectFactory.html?is-external=true#getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable)" title="class or interface in javax.naming.spi">getObjectInstance</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/ObjectFactory.html?is-external=true" title="class or interface in javax.naming.spi">ObjectFactor [...]
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the unique synchronization registry instance.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE><DT><B>See Also:</B><DD><A HREF="../../bitronix/tm/BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm"><CODE>BitronixTransactionSynchronizationRegistry</CODE></A></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixTransactionSynchronizationRegistryObjectFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../bitronix/tm/BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm"><B>PREV CLASS</B></A>
+ <A HREF="../../bitronix/tm/BitronixUserTransactionObjectFactory.html" title="class in bitronix.tm"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?bitronix/tm/BitronixTransactionSynchronizationRegistryObjectFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixTransactionSynchronizationRegistryObjectFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/BitronixUserTransactionObjectFactory.html b/doc/api/bitronix/tm/BitronixUserTransactionObjectFactory.html
new file mode 100644
index 0000000..c1c52fa
--- /dev/null
+++ b/doc/api/bitronix/tm/BitronixUserTransactionObjectFactory.html
@@ -0,0 +1,247 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:01 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+BitronixUserTransactionObjectFactory (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="BitronixUserTransactionObjectFactory (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixUserTransactionObjectFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../bitronix/tm/BitronixTransactionSynchronizationRegistryObjectFactory.html" title="class in bitronix.tm"><B>PREV CLASS</B></A>
+ <A HREF="../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?bitronix/tm/BitronixUserTransactionObjectFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixUserTransactionObjectFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_bitronix.tm.BitronixTransactionManagerObjectFactory">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm</FONT>
+<BR>
+Class BitronixUserTransactionObjectFactory</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../resources/inherit.gif" ALT="extended by "><A HREF="../../bitronix/tm/BitronixTransactionManagerObjectFactory.html" title="class in bitronix.tm">bitronix.tm.BitronixTransactionManagerObjectFactory</A>
+ <IMG SRC="../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.BitronixUserTransactionObjectFactory</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/ObjectFactory.html?is-external=true" title="class or interface in javax.naming.spi">ObjectFactory</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>BitronixUserTransactionObjectFactory</B><DT>extends <A HREF="../../bitronix/tm/BitronixTransactionManagerObjectFactory.html" title="class in bitronix.tm">BitronixTransactionManagerObjectFactory</A></DL>
+</PRE>
+
+<P>
+<A HREF="../../bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm"><CODE>BitronixTransactionManager</CODE></A> object factory for JNDI references. This class does no more than
+ <A HREF="../../bitronix/tm/BitronixTransactionManagerObjectFactory.html" title="class in bitronix.tm"><CODE>BitronixTransactionManagerObjectFactory</CODE></A>, it only exists for clarity.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixUserTransactionObjectFactory.html#BitronixUserTransactionObjectFactory()">BitronixUserTransactionObjectFactory</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.BitronixTransactionManagerObjectFactory"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class bitronix.tm.<A HREF="../../bitronix/tm/BitronixTransactionManagerObjectFactory.html" title="class in bitronix.tm">BitronixTransactionManagerObjectFactory</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../bitronix/tm/BitronixTransactionManagerObjectFactory.html#getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable)">getObjectInstance</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="BitronixUserTransactionObjectFactory()"><!-- --></A><H3>
+BitronixUserTransactionObjectFactory</H3>
+<PRE>
+public <B>BitronixUserTransactionObjectFactory</B>()</PRE>
+<DL>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixUserTransactionObjectFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../bitronix/tm/BitronixTransactionSynchronizationRegistryObjectFactory.html" title="class in bitronix.tm"><B>PREV CLASS</B></A>
+ <A HREF="../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?bitronix/tm/BitronixUserTransactionObjectFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixUserTransactionObjectFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_bitronix.tm.BitronixTransactionManagerObjectFactory">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/BitronixXid.html b/doc/api/bitronix/tm/BitronixXid.html
new file mode 100644
index 0000000..fb3dfb8
--- /dev/null
+++ b/doc/api/bitronix/tm/BitronixXid.html
@@ -0,0 +1,517 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:01 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+BitronixXid (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="BitronixXid (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixXid.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../bitronix/tm/BitronixUserTransactionObjectFactory.html" title="class in bitronix.tm"><B>PREV CLASS</B></A>
+ <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?bitronix/tm/BitronixXid.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixXid.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm</FONT>
+<BR>
+Class BitronixXid</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.BitronixXid</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>BitronixXid</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A></DL>
+</PRE>
+
+<P>
+Implementation of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>Xid</CODE></A>.
+ <p>A XID is divided in two parts: globalTransactionId (GTRID) and branchQualifier (BQUAL). The first one uniquely
+ identifies the global transaction while the latter uniquely identifies the transaction branch, or the local part of
+ the global transaction inside a resource.</p>
+ <p>Technically in the Bitronix implementation, GTRID and BQUAL have the same format as described by Mike Spille.
+ Each <A HREF="../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm"><CODE>BitronixTransaction</CODE></A> get assigned a GTRID at creation time and full XIDs are created and
+ assigned to every <A HREF="../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A> when enlisted in the transaction's
+ <A HREF="../../bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal"><CODE>XAResourceManager</CODE></A>. Both GTRID and XIDs are generated
+ by the <A HREF="../../bitronix/tm/utils/UidGenerator.html" title="class in bitronix.tm.utils"><CODE>UidGenerator</CODE></A>.</p>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../bitronix/tm/utils/UidGenerator.html" title="class in bitronix.tm.utils"><CODE>UidGenerator</CODE></A>,
+<A HREF="../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm"><CODE>BitronixTransaction</CODE></A>,
+<A HREF="../../bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal"><CODE>XAResourceManager</CODE></A>,
+<a href="http://jroller.com/page/pyrasun?entry=xa_exposed_part_iii_the">XA Exposed, Part III: The Implementor's Notebook</a></DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixXid.html#FORMAT_ID">FORMAT_ID</A></B></CODE>
+
+<BR>
+ int-encoded "Btnx" string.</TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_javax.transaction.xa.Xid"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface javax.transaction.xa.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true#MAXBQUALSIZE" title="class or interface in javax.transaction.xa">MAXBQUALSIZE</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true#MAXGTRIDSIZE" title="class or interface in javax.transaction.xa">MAXGTRIDSIZE</A></CODE></TD>
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixXid.html#BitronixXid(bitronix.tm.utils.Uid, bitronix.tm.utils.Uid)">BitronixXid</A></B>(<A HREF="../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> globalTransactionId,
+ <A HREF="../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> branchQualifier)</CODE>
+
+<BR>
+ Create a new XID using the specified GTRID and BQUAL.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixXid.html#BitronixXid(javax.transaction.xa.Xid)">BitronixXid</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixXid.html#equals(java.lang.Object)">equals</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> obj)</CODE>
+
+<BR>
+ Compare two XIDs for equality.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> byte[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixXid.html#getBranchQualifier()">getBranchQualifier</A></B>()</CODE>
+
+<BR>
+ Get the BQUAL of the XID.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixXid.html#getBranchQualifierUid()">getBranchQualifierUid</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixXid.html#getFormatId()">getFormatId</A></B>()</CODE>
+
+<BR>
+ Get Bitronix XID format ID.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> byte[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixXid.html#getGlobalTransactionId()">getGlobalTransactionId</A></B>()</CODE>
+
+<BR>
+ Get the GTRID of the XID.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixXid.html#getGlobalTransactionIdUid()">getGlobalTransactionIdUid</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixXid.html#hashCode()">hashCode</A></B>()</CODE>
+
+<BR>
+ Get an integer hash for the XID.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/BitronixXid.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ Get a human-readable string representation of the XID.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.c [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="FORMAT_ID"><!-- --></A><H3>
+FORMAT_ID</H3>
+<PRE>
+public static final int <B>FORMAT_ID</B></PRE>
+<DL>
+<DD>int-encoded "Btnx" string. This is used as the globally unique ID to discriminate BTM XIDs.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../constant-values.html#bitronix.tm.BitronixXid.FORMAT_ID">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="BitronixXid(bitronix.tm.utils.Uid, bitronix.tm.utils.Uid)"><!-- --></A><H3>
+BitronixXid</H3>
+<PRE>
+public <B>BitronixXid</B>(<A HREF="../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> globalTransactionId,
+ <A HREF="../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> branchQualifier)</PRE>
+<DL>
+<DD>Create a new XID using the specified GTRID and BQUAL.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>globalTransactionId</CODE> - the GTRID.<DD><CODE>branchQualifier</CODE> - the BQUAL.</DL>
+</DL>
+<HR>
+
+<A NAME="BitronixXid(javax.transaction.xa.Xid)"><!-- --></A><H3>
+BitronixXid</H3>
+<PRE>
+public <B>BitronixXid</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getFormatId()"><!-- --></A><H3>
+getFormatId</H3>
+<PRE>
+public int <B>getFormatId</B>()</PRE>
+<DL>
+<DD>Get Bitronix XID format ID. Defined by <A HREF="../../bitronix/tm/BitronixXid.html#FORMAT_ID"><CODE>FORMAT_ID</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true#getFormatId()" title="class or interface in javax.transaction.xa">getFormatId</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the Bitronix XID format ID.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getBranchQualifier()"><!-- --></A><H3>
+getBranchQualifier</H3>
+<PRE>
+public byte[] <B>getBranchQualifier</B>()</PRE>
+<DL>
+<DD>Get the BQUAL of the XID.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true#getBranchQualifier()" title="class or interface in javax.transaction.xa">getBranchQualifier</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the XID branch qualifier.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getBranchQualifierUid()"><!-- --></A><H3>
+getBranchQualifierUid</H3>
+<PRE>
+public <A HREF="../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> <B>getBranchQualifierUid</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGlobalTransactionId()"><!-- --></A><H3>
+getGlobalTransactionId</H3>
+<PRE>
+public byte[] <B>getGlobalTransactionId</B>()</PRE>
+<DL>
+<DD>Get the GTRID of the XID.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true#getGlobalTransactionId()" title="class or interface in javax.transaction.xa">getGlobalTransactionId</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the XID global transaction ID.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGlobalTransactionIdUid()"><!-- --></A><H3>
+getGlobalTransactionIdUid</H3>
+<PRE>
+public <A HREF="../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> <B>getGlobalTransactionIdUid</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD>Get a human-readable string representation of the XID.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a human-readable string representation.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="equals(java.lang.Object)"><!-- --></A><H3>
+equals</H3>
+<PRE>
+public boolean <B>equals</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> obj)</PRE>
+<DL>
+<DD>Compare two XIDs for equality.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>obj</CODE> - the XID to compare to.
+<DT><B>Returns:</B><DD>true if both XIDs have the same format ID and contain exactly the same GTRID and BQUAL.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hashCode()"><!-- --></A><H3>
+hashCode</H3>
+<PRE>
+public int <B>hashCode</B>()</PRE>
+<DL>
+<DD>Get an integer hash for the XID.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a constant hash value.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixXid.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../bitronix/tm/BitronixUserTransactionObjectFactory.html" title="class in bitronix.tm"><B>PREV CLASS</B></A>
+ <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?bitronix/tm/BitronixXid.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixXid.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/Configuration.html b/doc/api/bitronix/tm/Configuration.html
new file mode 100644
index 0000000..c693438
--- /dev/null
+++ b/doc/api/bitronix/tm/Configuration.html
@@ -0,0 +1,1431 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:01 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Configuration (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Configuration (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Configuration.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm"><B>PREV CLASS</B></A>
+ <A HREF="../../bitronix/tm/TransactionManagerServices.html" title="class in bitronix.tm"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?bitronix/tm/Configuration.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Configuration.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm</FONT>
+<BR>
+Class Configuration</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.Configuration</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>Configuration</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></DL>
+</PRE>
+
+<P>
+Configuration repository of the transaction manager. You can set configurable values either via the properties file
+ or by setting properties of the <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm"><CODE>Configuration</CODE></A> object.
+ Once the transaction manager has started it is not possible to change the configuration: all calls to setters will
+ throw a <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang"><CODE>IllegalStateException</CODE></A>.
+ <p>The configuration filename must be specified with the <code>bitronix.tm.configuration</code> system property.</p>
+ <p>The default settings are good enough for running in a test environment but certainly not for production usage.
+ Also, all properties are reset to their default value after the transaction manager has shut down.</p>
+ <p>All those properties can refer to other defined ones or to system properties using the Ant notation:
+ <code>${some.property.name}</code>.</p>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#Configuration()">Configuration</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> byte[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#buildServerIdArray()">buildServerIdArray</A></B>()</CODE>
+
+<BR>
+ Build the server ID byte array that will be prepended in generated UIDs.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#getBackgroundRecoveryInterval()">getBackgroundRecoveryInterval</A></B>()</CODE>
+
+<BR>
+ <B>Deprecated.</B> <I>superceded by #getBackgroundRecoveryIntervalSeconds().</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#getBackgroundRecoveryIntervalSeconds()">getBackgroundRecoveryIntervalSeconds</A></B>()</CODE>
+
+<BR>
+ Interval in seconds at which to run the recovery process in the background.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#getDefaultTransactionTimeout()">getDefaultTransactionTimeout</A></B>()</CODE>
+
+<BR>
+ Default transaction timeout in seconds.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#getGracefulShutdownInterval()">getGracefulShutdownInterval</A></B>()</CODE>
+
+<BR>
+ Maximum amount of seconds the TM will wait for transactions to get done before aborting them at shutdown time.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#getJndiTransactionSynchronizationRegistryName()">getJndiTransactionSynchronizationRegistryName</A></B>()</CODE>
+
+<BR>
+ Get the name the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionSynchronizationRegistry.html?is-external=true" title="class or interface in javax.transaction"><CODE>TransactionSynchronizationRegistry</CODE></A> should be bound under in the
+ <A HREF="../../bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi"><CODE>BitronixContext</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#getJndiUserTransactionName()">getJndiUserTransactionName</A></B>()</CODE>
+
+<BR>
+ Get the name the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/UserTransaction.html?is-external=true" title="class or interface in javax.transaction"><CODE>UserTransaction</CODE></A> should be bound under in the
+ <A HREF="../../bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi"><CODE>BitronixContext</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#getJournal()">getJournal</A></B>()</CODE>
+
+<BR>
+ Get the journal implementation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#getLogPart1Filename()">getLogPart1Filename</A></B>()</CODE>
+
+<BR>
+ Get the journal fragment file 1 name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#getLogPart2Filename()">getLogPart2Filename</A></B>()</CODE>
+
+<BR>
+ Get the journal fragment file 2 name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#getMaxLogSizeInMb()">getMaxLogSizeInMb</A></B>()</CODE>
+
+<BR>
+ Maximum size in megabytes of the journal fragments.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#getResourceConfigurationFilename()">getResourceConfigurationFilename</A></B>()</CODE>
+
+<BR>
+ <A HREF="../../bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource"><CODE>ResourceLoader</CODE></A> configuration file name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#getServerId()">getServerId</A></B>()</CODE>
+
+<BR>
+ ASCII ID that must uniquely identify this TM instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#isAllowMultipleLrc()">isAllowMultipleLrc</A></B>()</CODE>
+
+<BR>
+ Should the transaction manager allow enlistment of multiple LRC resources in a single transaction?</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#isAsynchronous2Pc()">isAsynchronous2Pc</A></B>()</CODE>
+
+<BR>
+ Should two phase commit be executed asynchronously?</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#isCurrentNodeOnlyRecovery()">isCurrentNodeOnlyRecovery</A></B>()</CODE>
+
+<BR>
+ Should the recovery process <b>not</b> recover XIDs generated with another JVM unique ID?</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#isDisableJmx()">isDisableJmx</A></B>()</CODE>
+
+<BR>
+ Should JMX Mbeans not be registered even if a JMX MBean server is detected?</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#isFilterLogStatus()">isFilterLogStatus</A></B>()</CODE>
+
+<BR>
+ Should only mandatory logs be written?</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#isForceBatchingEnabled()">isForceBatchingEnabled</A></B>()</CODE>
+
+<BR>
+ Are disk forces batched?</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#isForcedWriteEnabled()">isForcedWriteEnabled</A></B>()</CODE>
+
+<BR>
+ Are logs forced to disk?</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#isSkipCorruptedLogs()">isSkipCorruptedLogs</A></B>()</CODE>
+
+<BR>
+ Should corrupted logs be skipped?</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#isWarnAboutZeroResourceTransaction()">isWarnAboutZeroResourceTransaction</A></B>()</CODE>
+
+<BR>
+ Should transactions executed without a single enlisted resource result in a warning or not?</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#setAllowMultipleLrc(boolean)">setAllowMultipleLrc</A></B>(boolean allowMultipleLrc)</CODE>
+
+<BR>
+ Set to true if the transaction manager should allow enlistment of multiple LRC resources in a single transaction.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#setAsynchronous2Pc(boolean)">setAsynchronous2Pc</A></B>(boolean asynchronous2Pc)</CODE>
+
+<BR>
+ Set if two phase commit should be executed asynchronously.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#setBackgroundRecoveryInterval(int)">setBackgroundRecoveryInterval</A></B>(int backgroundRecoveryInterval)</CODE>
+
+<BR>
+ <B>Deprecated.</B> <I>superceded by #setBackgroundRecoveryIntervalSeconds(int).</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#setBackgroundRecoveryIntervalSeconds(int)">setBackgroundRecoveryIntervalSeconds</A></B>(int backgroundRecoveryIntervalSeconds)</CODE>
+
+<BR>
+ Set the interval in seconds at which to run the recovery process in the background.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#setCurrentNodeOnlyRecovery(boolean)">setCurrentNodeOnlyRecovery</A></B>(boolean currentNodeOnlyRecovery)</CODE>
+
+<BR>
+ Set to true if recovery should filter out recovered XIDs that do not contain this JVM's unique ID, false otherwise.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#setDefaultTransactionTimeout(int)">setDefaultTransactionTimeout</A></B>(int defaultTransactionTimeout)</CODE>
+
+<BR>
+ Set the default transaction timeout in seconds.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#setDisableJmx(boolean)">setDisableJmx</A></B>(boolean disableJmx)</CODE>
+
+<BR>
+ Set to true if JMX Mbeans should not be registered even if a JMX MBean server is detected.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#setFilterLogStatus(boolean)">setFilterLogStatus</A></B>(boolean filterLogStatus)</CODE>
+
+<BR>
+ Set if only mandatory logs should be written.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#setForceBatchingEnabled(boolean)">setForceBatchingEnabled</A></B>(boolean forceBatchingEnabled)</CODE>
+
+<BR>
+ Set if disk forces are batched.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#setForcedWriteEnabled(boolean)">setForcedWriteEnabled</A></B>(boolean forcedWriteEnabled)</CODE>
+
+<BR>
+ Set if logs are forced to disk.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#setGracefulShutdownInterval(int)">setGracefulShutdownInterval</A></B>(int gracefulShutdownInterval)</CODE>
+
+<BR>
+ Set the maximum amount of seconds the TM will wait for transactions to get done before aborting them at shutdown
+ time.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#setJndiTransactionSynchronizationRegistryName(java.lang.String)">setJndiTransactionSynchronizationRegistryName</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> jndiTransactionSynchronizationRegistryName)</CODE>
+
+<BR>
+ Set the name the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionSynchronizationRegistry.html?is-external=true" title="class or interface in javax.transaction"><CODE>TransactionSynchronizationRegistry</CODE></A> should be bound under in the
+ <A HREF="../../bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi"><CODE>BitronixContext</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#setJndiUserTransactionName(java.lang.String)">setJndiUserTransactionName</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> jndiUserTransactionName)</CODE>
+
+<BR>
+ Set the name the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/UserTransaction.html?is-external=true" title="class or interface in javax.transaction"><CODE>UserTransaction</CODE></A> should be bound under in the
+ <A HREF="../../bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi"><CODE>BitronixContext</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#setJournal(java.lang.String)">setJournal</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> journal)</CODE>
+
+<BR>
+ Set the journal name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#setLogPart1Filename(java.lang.String)">setLogPart1Filename</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> logPart1Filename)</CODE>
+
+<BR>
+ Set the journal fragment file 1 name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#setLogPart2Filename(java.lang.String)">setLogPart2Filename</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> logPart2Filename)</CODE>
+
+<BR>
+ Set the journal fragment file 2 name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#setMaxLogSizeInMb(int)">setMaxLogSizeInMb</A></B>(int maxLogSizeInMb)</CODE>
+
+<BR>
+ Set the Maximum size in megabytes of the journal fragments.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#setResourceConfigurationFilename(java.lang.String)">setResourceConfigurationFilename</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> resourceConfigurationFilename)</CODE>
+
+<BR>
+ Set the <A HREF="../../bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource"><CODE>ResourceLoader</CODE></A> configuration file name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#setServerId(java.lang.String)">setServerId</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> serverId)</CODE>
+
+<BR>
+ Set the ASCII ID that must uniquely identify this TM instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#setSkipCorruptedLogs(boolean)">setSkipCorruptedLogs</A></B>(boolean skipCorruptedLogs)</CODE>
+
+<BR>
+ Set if corrupted logs should be skipped.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#setWarnAboutZeroResourceTransaction(boolean)">setWarnAboutZeroResourceTransaction</A></B>(boolean warnAboutZeroResourceTransaction)</CODE>
+
+<BR>
+ Set if transactions executed without a single enlisted resource should result in a warning or not.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#shutdown()">shutdown</A></B>()</CODE>
+
+<BR>
+ Shutdown the service and free all held resources.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Configuration.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="Configuration()"><!-- --></A><H3>
+Configuration</H3>
+<PRE>
+protected <B>Configuration</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getServerId()"><!-- --></A><H3>
+getServerId</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getServerId</B>()</PRE>
+<DL>
+<DD>ASCII ID that must uniquely identify this TM instance. It must not exceed 51 characters or it will be truncated.
+ <p>Property name:<br/><b>bitronix.tm.serverId -</b> <i>(defaults to server's IP address but that's unsafe for
+ production use)</i></p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the unique ID of this TM instance.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setServerId(java.lang.String)"><!-- --></A><H3>
+setServerId</H3>
+<PRE>
+public <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A> <B>setServerId</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> serverId)</PRE>
+<DL>
+<DD>Set the ASCII ID that must uniquely identify this TM instance. It must not exceed 51 characters or it will be
+ truncated.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>serverId</CODE> - the unique ID of this TM instance.
+<DT><B>Returns:</B><DD>this.<DT><B>See Also:</B><DD><A HREF="../../bitronix/tm/Configuration.html#getServerId()"><CODE>getServerId()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLogPart1Filename()"><!-- --></A><H3>
+getLogPart1Filename</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getLogPart1Filename</B>()</PRE>
+<DL>
+<DD>Get the journal fragment file 1 name.
+ <p>Property name:<br/><b>bitronix.tm.journal.disk.logPart1Filename -</b> <i>(defaults to btm1.tlog)</i></p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the journal fragment file 1 name.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setLogPart1Filename(java.lang.String)"><!-- --></A><H3>
+setLogPart1Filename</H3>
+<PRE>
+public <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A> <B>setLogPart1Filename</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> logPart1Filename)</PRE>
+<DL>
+<DD>Set the journal fragment file 1 name.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>logPart1Filename</CODE> - the journal fragment file 1 name.
+<DT><B>Returns:</B><DD>this.<DT><B>See Also:</B><DD><A HREF="../../bitronix/tm/Configuration.html#getLogPart1Filename()"><CODE>getLogPart1Filename()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLogPart2Filename()"><!-- --></A><H3>
+getLogPart2Filename</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getLogPart2Filename</B>()</PRE>
+<DL>
+<DD>Get the journal fragment file 2 name.
+ <p>Property name:<br/><b>bitronix.tm.journal.disk.logPart2Filename -</b> <i>(defaults to btm2.tlog)</i></p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the journal fragment file 2 name.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setLogPart2Filename(java.lang.String)"><!-- --></A><H3>
+setLogPart2Filename</H3>
+<PRE>
+public <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A> <B>setLogPart2Filename</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> logPart2Filename)</PRE>
+<DL>
+<DD>Set the journal fragment file 2 name.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>logPart2Filename</CODE> - the journal fragment file 2 name.
+<DT><B>Returns:</B><DD>this.<DT><B>See Also:</B><DD><A HREF="../../bitronix/tm/Configuration.html#getLogPart2Filename()"><CODE>getLogPart2Filename()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isForcedWriteEnabled()"><!-- --></A><H3>
+isForcedWriteEnabled</H3>
+<PRE>
+public boolean <B>isForcedWriteEnabled</B>()</PRE>
+<DL>
+<DD>Are logs forced to disk? Do not set to false in production since without disk force, integrity is not
+ guaranteed.
+ <p>Property name:<br/><b>bitronix.tm.journal.disk.forcedWriteEnabled -</b> <i>(defaults to true)</i></p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if logs are forced to disk, false otherwise.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setForcedWriteEnabled(boolean)"><!-- --></A><H3>
+setForcedWriteEnabled</H3>
+<PRE>
+public <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A> <B>setForcedWriteEnabled</B>(boolean forcedWriteEnabled)</PRE>
+<DL>
+<DD>Set if logs are forced to disk. Do not set to false in production since without disk force, integrity is not
+ guaranteed.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>forcedWriteEnabled</CODE> - true if logs should be forced to disk, false otherwise.
+<DT><B>Returns:</B><DD>this.<DT><B>See Also:</B><DD><A HREF="../../bitronix/tm/Configuration.html#isForcedWriteEnabled()"><CODE>isForcedWriteEnabled()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isForceBatchingEnabled()"><!-- --></A><H3>
+isForceBatchingEnabled</H3>
+<PRE>
+public boolean <B>isForceBatchingEnabled</B>()</PRE>
+<DL>
+<DD>Are disk forces batched? Disabling batching can seriously lower the transaction manager's throughput.
+ <p>Property name:<br/><b>bitronix.tm.journal.disk.forceBatchingEnabled -</b> <i>(defaults to true)</i></p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if disk forces are batched, false otherwise.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setForceBatchingEnabled(boolean)"><!-- --></A><H3>
+setForceBatchingEnabled</H3>
+<PRE>
+public <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A> <B>setForceBatchingEnabled</B>(boolean forceBatchingEnabled)</PRE>
+<DL>
+<DD>Set if disk forces are batched. Disabling batching can seriously lower the transaction manager's throughput.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>forceBatchingEnabled</CODE> - true if disk forces are batched, false otherwise.
+<DT><B>Returns:</B><DD>this.<DT><B>See Also:</B><DD><A HREF="../../bitronix/tm/Configuration.html#isForceBatchingEnabled()"><CODE>isForceBatchingEnabled()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMaxLogSizeInMb()"><!-- --></A><H3>
+getMaxLogSizeInMb</H3>
+<PRE>
+public int <B>getMaxLogSizeInMb</B>()</PRE>
+<DL>
+<DD>Maximum size in megabytes of the journal fragments. Larger logs allow transactions to stay longer in-doubt but
+ the TM pauses longer when a fragment is full.
+ <p>Property name:<br/><b>bitronix.tm.journal.disk.maxLogSize -</b> <i>(defaults to 2)</i></p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the maximum size in megabytes of the journal fragments.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setMaxLogSizeInMb(int)"><!-- --></A><H3>
+setMaxLogSizeInMb</H3>
+<PRE>
+public <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A> <B>setMaxLogSizeInMb</B>(int maxLogSizeInMb)</PRE>
+<DL>
+<DD>Set the Maximum size in megabytes of the journal fragments. Larger logs allow transactions to stay longer
+ in-doubt but the TM pauses longer when a fragment is full.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>maxLogSizeInMb</CODE> - the maximum size in megabytes of the journal fragments.
+<DT><B>Returns:</B><DD>this.<DT><B>See Also:</B><DD><A HREF="../../bitronix/tm/Configuration.html#getMaxLogSizeInMb()"><CODE>getMaxLogSizeInMb()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isFilterLogStatus()"><!-- --></A><H3>
+isFilterLogStatus</H3>
+<PRE>
+public boolean <B>isFilterLogStatus</B>()</PRE>
+<DL>
+<DD>Should only mandatory logs be written? Enabling this parameter lowers space usage of the fragments but makes
+ debugging more complex.
+ <p>Property name:<br/><b>bitronix.tm.journal.disk.filterLogStatus -</b> <i>(defaults to false)</i></p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if only mandatory logs should be written.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setFilterLogStatus(boolean)"><!-- --></A><H3>
+setFilterLogStatus</H3>
+<PRE>
+public <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A> <B>setFilterLogStatus</B>(boolean filterLogStatus)</PRE>
+<DL>
+<DD>Set if only mandatory logs should be written. Enabling this parameter lowers space usage of the fragments but
+ makes debugging more complex.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>filterLogStatus</CODE> - true if only mandatory logs should be written.
+<DT><B>Returns:</B><DD>this.<DT><B>See Also:</B><DD><A HREF="../../bitronix/tm/Configuration.html#isFilterLogStatus()"><CODE>isFilterLogStatus()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isSkipCorruptedLogs()"><!-- --></A><H3>
+isSkipCorruptedLogs</H3>
+<PRE>
+public boolean <B>isSkipCorruptedLogs</B>()</PRE>
+<DL>
+<DD>Should corrupted logs be skipped?
+ <p>Property name:<br/><b>bitronix.tm.journal.disk.skipCorruptedLogs -</b> <i>(defaults to false)</i></p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if corrupted logs should be skipped.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setSkipCorruptedLogs(boolean)"><!-- --></A><H3>
+setSkipCorruptedLogs</H3>
+<PRE>
+public <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A> <B>setSkipCorruptedLogs</B>(boolean skipCorruptedLogs)</PRE>
+<DL>
+<DD>Set if corrupted logs should be skipped.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>skipCorruptedLogs</CODE> - true if corrupted logs should be skipped.
+<DT><B>Returns:</B><DD>this.<DT><B>See Also:</B><DD><A HREF="../../bitronix/tm/Configuration.html#isSkipCorruptedLogs()"><CODE>isSkipCorruptedLogs()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isAsynchronous2Pc()"><!-- --></A><H3>
+isAsynchronous2Pc</H3>
+<PRE>
+public boolean <B>isAsynchronous2Pc</B>()</PRE>
+<DL>
+<DD>Should two phase commit be executed asynchronously? Asynchronous two phase commit can improve performance when
+ there are many resources enlisted in transactions but is more CPU intensive due to the dynamic thread spawning
+ requirements. It also makes debugging more complex.
+ <p>Property name:<br/><b>bitronix.tm.2pc.async -</b> <i>(defaults to false)</i></p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if two phase commit should be executed asynchronously.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAsynchronous2Pc(boolean)"><!-- --></A><H3>
+setAsynchronous2Pc</H3>
+<PRE>
+public <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A> <B>setAsynchronous2Pc</B>(boolean asynchronous2Pc)</PRE>
+<DL>
+<DD>Set if two phase commit should be executed asynchronously. Asynchronous two phase commit can improve performance
+ when there are many resources enlisted in transactions but is more CPU intensive due to the dynamic thread
+ spawning requirements. It also makes debugging more complex.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>asynchronous2Pc</CODE> - true if two phase commit should be executed asynchronously.
+<DT><B>Returns:</B><DD>this.<DT><B>See Also:</B><DD><A HREF="../../bitronix/tm/Configuration.html#isAsynchronous2Pc()"><CODE>isAsynchronous2Pc()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isWarnAboutZeroResourceTransaction()"><!-- --></A><H3>
+isWarnAboutZeroResourceTransaction</H3>
+<PRE>
+public boolean <B>isWarnAboutZeroResourceTransaction</B>()</PRE>
+<DL>
+<DD>Should transactions executed without a single enlisted resource result in a warning or not? Most of the time
+ transactions executed with no enlisted resource reflect a bug or a mis-configuration somewhere.
+ <p>Property name:<br/><b>bitronix.tm.2pc.warnAboutZeroResourceTransactions -</b> <i>(defaults to true)</i></p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if transactions executed without a single enlisted resource should result in a warning.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setWarnAboutZeroResourceTransaction(boolean)"><!-- --></A><H3>
+setWarnAboutZeroResourceTransaction</H3>
+<PRE>
+public <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A> <B>setWarnAboutZeroResourceTransaction</B>(boolean warnAboutZeroResourceTransaction)</PRE>
+<DL>
+<DD>Set if transactions executed without a single enlisted resource should result in a warning or not. Most of the
+ time transactions executed with no enlisted resource reflect a bug or a mis-configuration somewhere.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>warnAboutZeroResourceTransaction</CODE> - true if transactions executed without a single enlisted resource should
+ result in a warning.
+<DT><B>Returns:</B><DD>this.<DT><B>See Also:</B><DD><A HREF="../../bitronix/tm/Configuration.html#isWarnAboutZeroResourceTransaction()"><CODE>isWarnAboutZeroResourceTransaction()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDefaultTransactionTimeout()"><!-- --></A><H3>
+getDefaultTransactionTimeout</H3>
+<PRE>
+public int <B>getDefaultTransactionTimeout</B>()</PRE>
+<DL>
+<DD>Default transaction timeout in seconds.
+ <p>Property name:<br/><b>bitronix.tm.timer.defaultTransactionTimeout -</b> <i>(defaults to 60)</i></p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the default transaction timeout in seconds.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDefaultTransactionTimeout(int)"><!-- --></A><H3>
+setDefaultTransactionTimeout</H3>
+<PRE>
+public <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A> <B>setDefaultTransactionTimeout</B>(int defaultTransactionTimeout)</PRE>
+<DL>
+<DD>Set the default transaction timeout in seconds.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>defaultTransactionTimeout</CODE> - the default transaction timeout in seconds.
+<DT><B>Returns:</B><DD>this.<DT><B>See Also:</B><DD><A HREF="../../bitronix/tm/Configuration.html#getDefaultTransactionTimeout()"><CODE>getDefaultTransactionTimeout()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGracefulShutdownInterval()"><!-- --></A><H3>
+getGracefulShutdownInterval</H3>
+<PRE>
+public int <B>getGracefulShutdownInterval</B>()</PRE>
+<DL>
+<DD>Maximum amount of seconds the TM will wait for transactions to get done before aborting them at shutdown time.
+ <p>Property name:<br/><b>bitronix.tm.timer.gracefulShutdownInterval -</b> <i>(defaults to 60)</i></p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the maximum amount of time in seconds.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setGracefulShutdownInterval(int)"><!-- --></A><H3>
+setGracefulShutdownInterval</H3>
+<PRE>
+public <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A> <B>setGracefulShutdownInterval</B>(int gracefulShutdownInterval)</PRE>
+<DL>
+<DD>Set the maximum amount of seconds the TM will wait for transactions to get done before aborting them at shutdown
+ time.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>gracefulShutdownInterval</CODE> - the maximum amount of time in seconds.
+<DT><B>Returns:</B><DD>this.<DT><B>See Also:</B><DD><A HREF="../../bitronix/tm/Configuration.html#getGracefulShutdownInterval()"><CODE>getGracefulShutdownInterval()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getBackgroundRecoveryInterval()"><!-- --></A><H3>
+getBackgroundRecoveryInterval</H3>
+<PRE>
+public int <B>getBackgroundRecoveryInterval</B>()</PRE>
+<DL>
+<DD><B>Deprecated.</B> <I>superceded by #getBackgroundRecoveryIntervalSeconds().</I>
+<P>
+<DD>Interval in minutes at which to run the recovery process in the background. Disabled when set to 0.
+ <p>Property name:<br/><b>bitronix.tm.timer.backgroundRecoveryInterval -</b> <i>(defaults to 0)</i></p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the interval in minutes.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setBackgroundRecoveryInterval(int)"><!-- --></A><H3>
+setBackgroundRecoveryInterval</H3>
+<PRE>
+public <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A> <B>setBackgroundRecoveryInterval</B>(int backgroundRecoveryInterval)</PRE>
+<DL>
+<DD><B>Deprecated.</B> <I>superceded by #setBackgroundRecoveryIntervalSeconds(int).</I>
+<P>
+<DD>Set the interval in minutes at which to run the recovery process in the background. Disabled when set to 0.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>backgroundRecoveryInterval</CODE> - the interval in minutes.
+<DT><B>Returns:</B><DD>this.<DT><B>See Also:</B><DD><A HREF="../../bitronix/tm/Configuration.html#getBackgroundRecoveryInterval()"><CODE>getBackgroundRecoveryInterval()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getBackgroundRecoveryIntervalSeconds()"><!-- --></A><H3>
+getBackgroundRecoveryIntervalSeconds</H3>
+<PRE>
+public int <B>getBackgroundRecoveryIntervalSeconds</B>()</PRE>
+<DL>
+<DD>Interval in seconds at which to run the recovery process in the background. Disabled when set to 0.
+ <p>Property name:<br/><b>bitronix.tm.timer.backgroundRecoveryIntervalSeconds -</b> <i>(defaults to 60)</i></p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the interval in seconds.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setBackgroundRecoveryIntervalSeconds(int)"><!-- --></A><H3>
+setBackgroundRecoveryIntervalSeconds</H3>
+<PRE>
+public <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A> <B>setBackgroundRecoveryIntervalSeconds</B>(int backgroundRecoveryIntervalSeconds)</PRE>
+<DL>
+<DD>Set the interval in seconds at which to run the recovery process in the background. Disabled when set to 0.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>backgroundRecoveryIntervalSeconds</CODE> - the interval in minutes.
+<DT><B>Returns:</B><DD>this.<DT><B>See Also:</B><DD><A HREF="../../bitronix/tm/Configuration.html#getBackgroundRecoveryIntervalSeconds()"><CODE>getBackgroundRecoveryIntervalSeconds()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isDisableJmx()"><!-- --></A><H3>
+isDisableJmx</H3>
+<PRE>
+public boolean <B>isDisableJmx</B>()</PRE>
+<DL>
+<DD>Should JMX Mbeans not be registered even if a JMX MBean server is detected?
+ <p>Property name:<br/><b>bitronix.tm.disableJmx -</b> <i>(defaults to false)</i></p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if JMX MBeans should never be registered.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDisableJmx(boolean)"><!-- --></A><H3>
+setDisableJmx</H3>
+<PRE>
+public <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A> <B>setDisableJmx</B>(boolean disableJmx)</PRE>
+<DL>
+<DD>Set to true if JMX Mbeans should not be registered even if a JMX MBean server is detected.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>disableJmx</CODE> - true if JMX MBeans should never be registered.
+<DT><B>Returns:</B><DD>this.<DT><B>See Also:</B><DD><A HREF="../../bitronix/tm/Configuration.html#isDisableJmx()"><CODE>isDisableJmx()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getJndiUserTransactionName()"><!-- --></A><H3>
+getJndiUserTransactionName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getJndiUserTransactionName</B>()</PRE>
+<DL>
+<DD>Get the name the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/UserTransaction.html?is-external=true" title="class or interface in javax.transaction"><CODE>UserTransaction</CODE></A> should be bound under in the
+ <A HREF="../../bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi"><CODE>BitronixContext</CODE></A>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/UserTransaction.html?is-external=true" title="class or interface in javax.transaction"><CODE>UserTransaction</CODE></A> should
+ be bound under in the <A HREF="../../bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi"><CODE>BitronixContext</CODE></A>.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setJndiUserTransactionName(java.lang.String)"><!-- --></A><H3>
+setJndiUserTransactionName</H3>
+<PRE>
+public <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A> <B>setJndiUserTransactionName</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> jndiUserTransactionName)</PRE>
+<DL>
+<DD>Set the name the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/UserTransaction.html?is-external=true" title="class or interface in javax.transaction"><CODE>UserTransaction</CODE></A> should be bound under in the
+ <A HREF="../../bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi"><CODE>BitronixContext</CODE></A>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>jndiUserTransactionName</CODE> - the name the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/UserTransaction.html?is-external=true" title="class or interface in javax.transaction"><CODE>UserTransaction</CODE></A> should
+ be bound under in the <A HREF="../../bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi"><CODE>BitronixContext</CODE></A>.
+<DT><B>Returns:</B><DD>this.<DT><B>See Also:</B><DD><A HREF="../../bitronix/tm/Configuration.html#getJndiUserTransactionName()"><CODE>getJndiUserTransactionName()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getJndiTransactionSynchronizationRegistryName()"><!-- --></A><H3>
+getJndiTransactionSynchronizationRegistryName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getJndiTransactionSynchronizationRegistryName</B>()</PRE>
+<DL>
+<DD>Get the name the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionSynchronizationRegistry.html?is-external=true" title="class or interface in javax.transaction"><CODE>TransactionSynchronizationRegistry</CODE></A> should be bound under in the
+ <A HREF="../../bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi"><CODE>BitronixContext</CODE></A>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the name the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionSynchronizationRegistry.html?is-external=true" title="class or interface in javax.transaction"><CODE>TransactionSynchronizationRegistry</CODE></A> should
+ be bound under in the <A HREF="../../bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi"><CODE>BitronixContext</CODE></A>.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setJndiTransactionSynchronizationRegistryName(java.lang.String)"><!-- --></A><H3>
+setJndiTransactionSynchronizationRegistryName</H3>
+<PRE>
+public <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A> <B>setJndiTransactionSynchronizationRegistryName</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> jndiTransactionSynchronizationRegistryName)</PRE>
+<DL>
+<DD>Set the name the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionSynchronizationRegistry.html?is-external=true" title="class or interface in javax.transaction"><CODE>TransactionSynchronizationRegistry</CODE></A> should be bound under in the
+ <A HREF="../../bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi"><CODE>BitronixContext</CODE></A>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>jndiTransactionSynchronizationRegistryName</CODE> - the name the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionSynchronizationRegistry.html?is-external=true" title="class or interface in javax.transaction"><CODE>TransactionSynchronizationRegistry</CODE></A> should
+ be bound under in the <A HREF="../../bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi"><CODE>BitronixContext</CODE></A>.
+<DT><B>Returns:</B><DD>this.<DT><B>See Also:</B><DD><A HREF="../../bitronix/tm/Configuration.html#getJndiUserTransactionName()"><CODE>getJndiUserTransactionName()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getJournal()"><!-- --></A><H3>
+getJournal</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getJournal</B>()</PRE>
+<DL>
+<DD>Get the journal implementation. Can be <code>disk</code>, <code>null</code> or a class name.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the journal name.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setJournal(java.lang.String)"><!-- --></A><H3>
+setJournal</H3>
+<PRE>
+public <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A> <B>setJournal</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> journal)</PRE>
+<DL>
+<DD>Set the journal name. Can be <code>disk</code>, <code>null</code> or a class name.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>journal</CODE> - the journal name.
+<DT><B>Returns:</B><DD>this.<DT><B>See Also:</B><DD><A HREF="../../bitronix/tm/Configuration.html#getJournal()"><CODE>getJournal()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isCurrentNodeOnlyRecovery()"><!-- --></A><H3>
+isCurrentNodeOnlyRecovery</H3>
+<PRE>
+public boolean <B>isCurrentNodeOnlyRecovery</B>()</PRE>
+<DL>
+<DD>Should the recovery process <b>not</b> recover XIDs generated with another JVM unique ID? Setting this property to true
+ is useful in clustered environments where multiple instances of BTM are running on different nodes.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if recovery should filter out recovered XIDs that do not contain this JVM's unique ID, false otherwise.<DT><B>See Also:</B><DD><A HREF="../../bitronix/tm/Configuration.html#getServerId()"><CODE>contains the value used as the JVM unique ID.</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setCurrentNodeOnlyRecovery(boolean)"><!-- --></A><H3>
+setCurrentNodeOnlyRecovery</H3>
+<PRE>
+public <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A> <B>setCurrentNodeOnlyRecovery</B>(boolean currentNodeOnlyRecovery)</PRE>
+<DL>
+<DD>Set to true if recovery should filter out recovered XIDs that do not contain this JVM's unique ID, false otherwise.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>currentNodeOnlyRecovery</CODE> - true if recovery should filter out recovered XIDs that do not contain this JVM's unique ID, false otherwise.
+<DT><B>Returns:</B><DD>this.<DT><B>See Also:</B><DD><A HREF="../../bitronix/tm/Configuration.html#isCurrentNodeOnlyRecovery()"><CODE>isCurrentNodeOnlyRecovery()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isAllowMultipleLrc()"><!-- --></A><H3>
+isAllowMultipleLrc</H3>
+<PRE>
+public boolean <B>isAllowMultipleLrc</B>()</PRE>
+<DL>
+<DD>Should the transaction manager allow enlistment of multiple LRC resources in a single transaction?
+ This is highly unsafe but could be useful for testing.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if the transaction manager should allow enlistment of multiple LRC resources in a single transaction, false otherwise.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAllowMultipleLrc(boolean)"><!-- --></A><H3>
+setAllowMultipleLrc</H3>
+<PRE>
+public <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A> <B>setAllowMultipleLrc</B>(boolean allowMultipleLrc)</PRE>
+<DL>
+<DD>Set to true if the transaction manager should allow enlistment of multiple LRC resources in a single transaction.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>allowMultipleLrc</CODE> - true if the transaction manager should allow enlistment of multiple LRC resources in a single transaction, false otherwise.
+<DT><B>Returns:</B><DD>this</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getResourceConfigurationFilename()"><!-- --></A><H3>
+getResourceConfigurationFilename</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getResourceConfigurationFilename</B>()</PRE>
+<DL>
+<DD><A HREF="../../bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource"><CODE>ResourceLoader</CODE></A> configuration file name. <A HREF="../../bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource"><CODE>ResourceLoader</CODE></A>
+ will be disabled if this value is null.
+ <p>Property name:<br/><b>bitronix.tm.resource.configuration -</b> <i>(defaults to null)</i></p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the filename of the resources configuration file or null if not configured.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setResourceConfigurationFilename(java.lang.String)"><!-- --></A><H3>
+setResourceConfigurationFilename</H3>
+<PRE>
+public <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A> <B>setResourceConfigurationFilename</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> resourceConfigurationFilename)</PRE>
+<DL>
+<DD>Set the <A HREF="../../bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource"><CODE>ResourceLoader</CODE></A> configuration file name.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>resourceConfigurationFilename</CODE> - the filename of the resources configuration file or null you do not want to
+ use the <A HREF="../../bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource"><CODE>ResourceLoader</CODE></A>.
+<DT><B>Returns:</B><DD>this.<DT><B>See Also:</B><DD><A HREF="../../bitronix/tm/Configuration.html#getResourceConfigurationFilename()"><CODE>getResourceConfigurationFilename()</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="buildServerIdArray()"><!-- --></A><H3>
+buildServerIdArray</H3>
+<PRE>
+public byte[] <B>buildServerIdArray</B>()</PRE>
+<DL>
+<DD>Build the server ID byte array that will be prepended in generated UIDs. Once built, the value is cached for
+ the duration of the JVM lifespan.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the server ID.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="shutdown()"><!-- --></A><H3>
+shutdown</H3>
+<PRE>
+public void <B>shutdown</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../bitronix/tm/utils/Service.html#shutdown()">Service</A></CODE></B></DD>
+<DD>Shutdown the service and free all held resources.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../bitronix/tm/utils/Service.html#shutdown()">shutdown</A></CODE> in interface <CODE><A HREF="../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Configuration.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm"><B>PREV CLASS</B></A>
+ <A HREF="../../bitronix/tm/TransactionManagerServices.html" title="class in bitronix.tm"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?bitronix/tm/Configuration.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Configuration.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/TransactionManagerServices.html b/doc/api/bitronix/tm/TransactionManagerServices.html
new file mode 100644
index 0000000..9280e09
--- /dev/null
+++ b/doc/api/bitronix/tm/TransactionManagerServices.html
@@ -0,0 +1,486 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:01 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+TransactionManagerServices (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="TransactionManagerServices (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TransactionManagerServices.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm"><B>PREV CLASS</B></A>
+ <A HREF="../../bitronix/tm/Version.html" title="class in bitronix.tm"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?bitronix/tm/TransactionManagerServices.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionManagerServices.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm</FONT>
+<BR>
+Class TransactionManagerServices</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.TransactionManagerServices</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>TransactionManagerServices</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+Container for all BTM services.
+ <p>The different services available are: <A HREF="../../bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm"><CODE>BitronixTransactionManager</CODE></A>, <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm"><CODE>Configuration</CODE></A>, <A HREF="../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal"><CODE>Journal</CODE></A>,
+ <A HREF="../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer"><CODE>TaskScheduler</CODE></A>, <A HREF="../../bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource"><CODE>ResourceLoader</CODE></A>, <A HREF="../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery"><CODE>Recoverer</CODE></A> and <A HREF="../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor"><CODE>Executor</C [...]
+ of the TM so they must be globally reachable.</p>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../bitronix/tm/TransactionManagerServices.html#TransactionManagerServices()">TransactionManagerServices</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/TransactionManagerServices.html#clear()">clear</A></B>()</CODE>
+
+<BR>
+ Clear services references.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/TransactionManagerServices.html#getConfiguration()">getConfiguration</A></B>()</CODE>
+
+<BR>
+ Create the configuration of all the components of the transaction manager.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/TransactionManagerServices.html#getExecutor()">getExecutor</A></B>()</CODE>
+
+<BR>
+ Create the 2PC executor.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/TransactionManagerServices.html#getJournal()">getJournal</A></B>()</CODE>
+
+<BR>
+ Create the transactions journal.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/TransactionManagerServices.html#getRecoverer()">getRecoverer</A></B>()</CODE>
+
+<BR>
+ Create the transaction recoverer.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource">ResourceLoader</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/TransactionManagerServices.html#getResourceLoader()">getResourceLoader</A></B>()</CODE>
+
+<BR>
+ Create the resource loader.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/TransactionManagerServices.html#getTaskScheduler()">getTaskScheduler</A></B>()</CODE>
+
+<BR>
+ Create the task scheduler.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm">BitronixTransactionManager</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/TransactionManagerServices.html#getTransactionManager()">getTransactionManager</A></B>()</CODE>
+
+<BR>
+ Create an initialized transaction manager.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../bitronix/tm/BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm">BitronixTransactionSynchronizationRegistry</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/TransactionManagerServices.html#getTransactionSynchronizationRegistry()">getTransactionSynchronizationRegistry</A></B>()</CODE>
+
+<BR>
+ Create the JTA 1.1 TransactionSynchronizationRegistry.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/TransactionManagerServices.html#isTaskSchedulerRunning()">isTaskSchedulerRunning</A></B>()</CODE>
+
+<BR>
+ Check if the task scheduler has started.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/TransactionManagerServices.html#isTransactionManagerRunning()">isTransactionManagerRunning</A></B>()</CODE>
+
+<BR>
+ Check if the transaction manager has started.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="TransactionManagerServices()"><!-- --></A><H3>
+TransactionManagerServices</H3>
+<PRE>
+public <B>TransactionManagerServices</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getTransactionManager()"><!-- --></A><H3>
+getTransactionManager</H3>
+<PRE>
+public static <A HREF="../../bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm">BitronixTransactionManager</A> <B>getTransactionManager</B>()</PRE>
+<DL>
+<DD>Create an initialized transaction manager.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the transaction manager.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTransactionSynchronizationRegistry()"><!-- --></A><H3>
+getTransactionSynchronizationRegistry</H3>
+<PRE>
+public static <A HREF="../../bitronix/tm/BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm">BitronixTransactionSynchronizationRegistry</A> <B>getTransactionSynchronizationRegistry</B>()</PRE>
+<DL>
+<DD>Create the JTA 1.1 TransactionSynchronizationRegistry.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the TransactionSynchronizationRegistry.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getConfiguration()"><!-- --></A><H3>
+getConfiguration</H3>
+<PRE>
+public static <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A> <B>getConfiguration</B>()</PRE>
+<DL>
+<DD>Create the configuration of all the components of the transaction manager.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the global configuration.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getJournal()"><!-- --></A><H3>
+getJournal</H3>
+<PRE>
+public static <A HREF="../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A> <B>getJournal</B>()</PRE>
+<DL>
+<DD>Create the transactions journal.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the transactions journal.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTaskScheduler()"><!-- --></A><H3>
+getTaskScheduler</H3>
+<PRE>
+public static <A HREF="../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A> <B>getTaskScheduler</B>()</PRE>
+<DL>
+<DD>Create the task scheduler.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the task scheduler.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getResourceLoader()"><!-- --></A><H3>
+getResourceLoader</H3>
+<PRE>
+public static <A HREF="../../bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource">ResourceLoader</A> <B>getResourceLoader</B>()</PRE>
+<DL>
+<DD>Create the resource loader.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the resource loader.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRecoverer()"><!-- --></A><H3>
+getRecoverer</H3>
+<PRE>
+public static <A HREF="../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A> <B>getRecoverer</B>()</PRE>
+<DL>
+<DD>Create the transaction recoverer.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the transaction recoverer.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getExecutor()"><!-- --></A><H3>
+getExecutor</H3>
+<PRE>
+public static <A HREF="../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A> <B>getExecutor</B>()</PRE>
+<DL>
+<DD>Create the 2PC executor.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the 2PC executor.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isTransactionManagerRunning()"><!-- --></A><H3>
+isTransactionManagerRunning</H3>
+<PRE>
+public static boolean <B>isTransactionManagerRunning</B>()</PRE>
+<DL>
+<DD>Check if the transaction manager has started.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if the transaction manager has started.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isTaskSchedulerRunning()"><!-- --></A><H3>
+isTaskSchedulerRunning</H3>
+<PRE>
+public static boolean <B>isTaskSchedulerRunning</B>()</PRE>
+<DL>
+<DD>Check if the task scheduler has started.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if the task scheduler has started.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="clear()"><!-- --></A><H3>
+clear</H3>
+<PRE>
+protected static void <B>clear</B>()</PRE>
+<DL>
+<DD>Clear services references. Called at the end of the shutdown procedure.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TransactionManagerServices.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm"><B>PREV CLASS</B></A>
+ <A HREF="../../bitronix/tm/Version.html" title="class in bitronix.tm"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?bitronix/tm/TransactionManagerServices.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionManagerServices.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/Version.html b/doc/api/bitronix/tm/Version.html
new file mode 100644
index 0000000..199efb2
--- /dev/null
+++ b/doc/api/bitronix/tm/Version.html
@@ -0,0 +1,253 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:01 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Version (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Version (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Version.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../bitronix/tm/TransactionManagerServices.html" title="class in bitronix.tm"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?bitronix/tm/Version.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Version.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm</FONT>
+<BR>
+Class Version</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.Version</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public final class <B>Version</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../bitronix/tm/Version.html#Version()">Version</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../bitronix/tm/Version.html#getVersion()">getVersion</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="Version()"><!-- --></A><H3>
+Version</H3>
+<PRE>
+public <B>Version</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getVersion()"><!-- --></A><H3>
+getVersion</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getVersion</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Version.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../bitronix/tm/TransactionManagerServices.html" title="class in bitronix.tm"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?bitronix/tm/Version.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Version.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/class-use/BitronixTransaction.html b/doc/api/bitronix/tm/class-use/BitronixTransaction.html
new file mode 100644
index 0000000..3b970d6
--- /dev/null
+++ b/doc/api/bitronix/tm/class-use/BitronixTransaction.html
@@ -0,0 +1,361 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.BitronixTransaction (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.BitronixTransaction (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm//class-useBitronixTransaction.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixTransaction.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.BitronixTransaction</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm"><B>bitronix.tm</B></A></TD>
+<TD>
+ JTA interfaces implementations and global services. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.internal"><B>bitronix.tm.internal</B></A></TD>
+<TD>
+ Internal implementation details. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.common"><B>bitronix.tm.resource.common</B></A></TD>
+<TD>
+ Resource management code common across all resource types. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.timer"><B>bitronix.tm.timer</B></A></TD>
+<TD>
+ Timed tasks scheduler. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.twopc"><B>bitronix.tm.twopc</B></A></TD>
+<TD>
+ Two-phase commit logic. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> in <A HREF="../../../bitronix/tm/package-summary.html">bitronix.tm</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../bitronix/tm/package-summary.html">bitronix.tm</A> that return <A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A></CODE></FONT></TD>
+<TD><CODE><B>BitronixTransactionManager.</B><B><A HREF="../../../bitronix/tm/BitronixTransactionManager.html#getCurrentTransaction()">getCurrentTransaction</A></B>()</CODE>
+
+<BR>
+ Get the transaction currently registered on the current thread context.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.internal"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> in <A HREF="../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A> that return <A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A></CODE></FONT></TD>
+<TD><CODE><B>ThreadContext.</B><B><A HREF="../../../bitronix/tm/internal/ThreadContext.html#getTransaction()">getTransaction</A></B>()</CODE>
+
+<BR>
+ Return the transaction linked with this thread context.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A> with parameters of type <A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>ThreadContext.</B><B><A HREF="../../../bitronix/tm/internal/ThreadContext.html#setTransaction(bitronix.tm.BitronixTransaction)">setTransaction</A></B>(<A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> transaction)</CODE>
+
+<BR>
+ Link a transaction with this thead context.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.common"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> in <A HREF="../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A> that return <A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A></CODE></FONT></TD>
+<TD><CODE><B>TransactionContextHelper.</B><B><A HREF="../../../bitronix/tm/resource/common/TransactionContextHelper.html#currentTransaction()">currentTransaction</A></B>()</CODE>
+
+<BR>
+ Get the transaction running on the current thead context.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.timer"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> in <A HREF="../../../bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A> with parameters of type <A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>TaskScheduler.</B><B><A HREF="../../../bitronix/tm/timer/TaskScheduler.html#cancelTransactionTimeout(bitronix.tm.BitronixTransaction)">cancelTransactionTimeout</A></B>(<A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> transaction)</CODE>
+
+<BR>
+ Cancel the task that will mark the transaction as timed out at the specified date.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>TaskScheduler.</B><B><A HREF="../../../bitronix/tm/timer/TaskScheduler.html#scheduleTransactionTimeout(bitronix.tm.BitronixTransaction, java.util.Date)">scheduleTransactionTimeout</A></B>(<A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> transaction,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> executionTime)</CODE>
+
+<BR>
+ Schedule a task that will mark the transaction as timed out at the specified date.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A> with parameters of type <A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/timer/TransactionTimeoutTask.html#TransactionTimeoutTask(bitronix.tm.BitronixTransaction, java.util.Date, bitronix.tm.timer.TaskScheduler)">TransactionTimeoutTask</A></B>(<A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> transaction,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> executionTime,
+ <A HREF="../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A> scheduler)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.twopc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> in <A HREF="../../../bitronix/tm/twopc/package-summary.html">bitronix.tm.twopc</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../bitronix/tm/twopc/package-summary.html">bitronix.tm.twopc</A> with parameters of type <A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Committer.</B><B><A HREF="../../../bitronix/tm/twopc/Committer.html#commit(bitronix.tm.BitronixTransaction, java.util.List)">commit</A></B>(<A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> transaction,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> interestedResources)</CODE>
+
+<BR>
+ Execute phase 2 commit.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B>Preparer.</B><B><A HREF="../../../bitronix/tm/twopc/Preparer.html#prepare(bitronix.tm.BitronixTransaction)">prepare</A></B>(<A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> transaction)</CODE>
+
+<BR>
+ Execute phase 1 prepare.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Rollbacker.</B><B><A HREF="../../../bitronix/tm/twopc/Rollbacker.html#rollback(bitronix.tm.BitronixTransaction, java.util.List)">rollback</A></B>(<A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> transaction,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> interestedResources)</CODE>
+
+<BR>
+ Rollback the current XA transaction.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm//class-useBitronixTransaction.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixTransaction.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/class-use/BitronixTransactionMBean.html b/doc/api/bitronix/tm/class-use/BitronixTransactionMBean.html
new file mode 100644
index 0000000..5df0981
--- /dev/null
+++ b/doc/api/bitronix/tm/class-use/BitronixTransactionMBean.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Interface bitronix.tm.BitronixTransactionMBean (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface bitronix.tm.BitronixTransactionMBean (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../bitronix/tm/BitronixTransactionMBean.html" title="interface in bitronix.tm"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm//class-useBitronixTransactionMBean.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixTransactionMBean.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>bitronix.tm.BitronixTransactionMBean</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../bitronix/tm/BitronixTransactionMBean.html" title="interface in bitronix.tm">BitronixTransactionMBean</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm"><B>bitronix.tm</B></A></TD>
+<TD>
+ JTA interfaces implementations and global services. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../bitronix/tm/BitronixTransactionMBean.html" title="interface in bitronix.tm">BitronixTransactionMBean</A> in <A HREF="../../../bitronix/tm/package-summary.html">bitronix.tm</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../bitronix/tm/package-summary.html">bitronix.tm</A> that implement <A HREF="../../../bitronix/tm/BitronixTransactionMBean.html" title="interface in bitronix.tm">BitronixTransactionMBean</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A></B></CODE>
+
+<BR>
+ Implementation of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true" title="class or interface in javax.transaction"><CODE>Transaction</CODE></A>.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../bitronix/tm/BitronixTransactionMBean.html" title="interface in bitronix.tm"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm//class-useBitronixTransactionMBean.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixTransactionMBean.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/class-use/BitronixTransactionManager.html b/doc/api/bitronix/tm/class-use/BitronixTransactionManager.html
new file mode 100644
index 0000000..0b59f07
--- /dev/null
+++ b/doc/api/bitronix/tm/class-use/BitronixTransactionManager.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.BitronixTransactionManager (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.BitronixTransactionManager (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm//class-useBitronixTransactionManager.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixTransactionManager.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.BitronixTransactionManager</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm">BitronixTransactionManager</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm"><B>bitronix.tm</B></A></TD>
+<TD>
+ JTA interfaces implementations and global services. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm">BitronixTransactionManager</A> in <A HREF="../../../bitronix/tm/package-summary.html">bitronix.tm</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../bitronix/tm/package-summary.html">bitronix.tm</A> that return <A HREF="../../../bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm">BitronixTransactionManager</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm">BitronixTransactionManager</A></CODE></FONT></TD>
+<TD><CODE><B>TransactionManagerServices.</B><B><A HREF="../../../bitronix/tm/TransactionManagerServices.html#getTransactionManager()">getTransactionManager</A></B>()</CODE>
+
+<BR>
+ Create an initialized transaction manager.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm//class-useBitronixTransactionManager.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixTransactionManager.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/class-use/BitronixTransactionManagerObjectFactory.html b/doc/api/bitronix/tm/class-use/BitronixTransactionManagerObjectFactory.html
new file mode 100644
index 0000000..11a0e00
--- /dev/null
+++ b/doc/api/bitronix/tm/class-use/BitronixTransactionManagerObjectFactory.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.BitronixTransactionManagerObjectFactory (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.BitronixTransactionManagerObjectFactory (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../bitronix/tm/BitronixTransactionManagerObjectFactory.html" title="class in bitronix.tm"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm//class-useBitronixTransactionManagerObjectFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixTransactionManagerObjectFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.BitronixTransactionManagerObjectFactory</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../bitronix/tm/BitronixTransactionManagerObjectFactory.html" title="class in bitronix.tm">BitronixTransactionManagerObjectFactory</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm"><B>bitronix.tm</B></A></TD>
+<TD>
+ JTA interfaces implementations and global services. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../bitronix/tm/BitronixTransactionManagerObjectFactory.html" title="class in bitronix.tm">BitronixTransactionManagerObjectFactory</A> in <A HREF="../../../bitronix/tm/package-summary.html">bitronix.tm</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../bitronix/tm/BitronixTransactionManagerObjectFactory.html" title="class in bitronix.tm">BitronixTransactionManagerObjectFactory</A> in <A HREF="../../../bitronix/tm/package-summary.html">bitronix.tm</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/BitronixUserTransactionObjectFactory.html" title="class in bitronix.tm">BitronixUserTransactionObjectFactory</A></B></CODE>
+
+<BR>
+ <A HREF="../../../bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm"><CODE>BitronixTransactionManager</CODE></A> object factory for JNDI references.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../bitronix/tm/BitronixTransactionManagerObjectFactory.html" title="class in bitronix.tm"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm//class-useBitronixTransactionManagerObjectFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixTransactionManagerObjectFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/class-use/BitronixTransactionSynchronizationRegistry.html b/doc/api/bitronix/tm/class-use/BitronixTransactionSynchronizationRegistry.html
new file mode 100644
index 0000000..9f1aae2
--- /dev/null
+++ b/doc/api/bitronix/tm/class-use/BitronixTransactionSynchronizationRegistry.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.BitronixTransactionSynchronizationRegistry (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.BitronixTransactionSynchronizationRegistry (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../bitronix/tm/BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm//class-useBitronixTransactionSynchronizationRegistry.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixTransactionSynchronizationRegistry.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.BitronixTransactionSynchronizationRegistry</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../bitronix/tm/BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm">BitronixTransactionSynchronizationRegistry</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm"><B>bitronix.tm</B></A></TD>
+<TD>
+ JTA interfaces implementations and global services. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../bitronix/tm/BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm">BitronixTransactionSynchronizationRegistry</A> in <A HREF="../../../bitronix/tm/package-summary.html">bitronix.tm</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../bitronix/tm/package-summary.html">bitronix.tm</A> that return <A HREF="../../../bitronix/tm/BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm">BitronixTransactionSynchronizationRegistry</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../bitronix/tm/BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm">BitronixTransactionSynchronizationRegistry</A></CODE></FONT></TD>
+<TD><CODE><B>TransactionManagerServices.</B><B><A HREF="../../../bitronix/tm/TransactionManagerServices.html#getTransactionSynchronizationRegistry()">getTransactionSynchronizationRegistry</A></B>()</CODE>
+
+<BR>
+ Create the JTA 1.1 TransactionSynchronizationRegistry.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../bitronix/tm/BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm//class-useBitronixTransactionSynchronizationRegistry.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixTransactionSynchronizationRegistry.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/class-use/BitronixTransactionSynchronizationRegistryObjectFactory.html b/doc/api/bitronix/tm/class-use/BitronixTransactionSynchronizationRegistryObjectFactory.html
new file mode 100644
index 0000000..b1a1e33
--- /dev/null
+++ b/doc/api/bitronix/tm/class-use/BitronixTransactionSynchronizationRegistryObjectFactory.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.BitronixTransactionSynchronizationRegistryObjectFactory (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.BitronixTransactionSynchronizationRegistryObjectFactory (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../bitronix/tm/BitronixTransactionSynchronizationRegistryObjectFactory.html" title="class in bitronix.tm"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm//class-useBitronixTransactionSynchronizationRegistryObjectFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixTransactionSynchronizationRegistryObjectFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.BitronixTransactionSynchronizationRegistryObjectFactory</B></H2>
+</CENTER>
+No usage of bitronix.tm.BitronixTransactionSynchronizationRegistryObjectFactory
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../bitronix/tm/BitronixTransactionSynchronizationRegistryObjectFactory.html" title="class in bitronix.tm"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm//class-useBitronixTransactionSynchronizationRegistryObjectFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixTransactionSynchronizationRegistryObjectFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/class-use/BitronixUserTransactionObjectFactory.html b/doc/api/bitronix/tm/class-use/BitronixUserTransactionObjectFactory.html
new file mode 100644
index 0000000..00afe5b
--- /dev/null
+++ b/doc/api/bitronix/tm/class-use/BitronixUserTransactionObjectFactory.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.BitronixUserTransactionObjectFactory (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.BitronixUserTransactionObjectFactory (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../bitronix/tm/BitronixUserTransactionObjectFactory.html" title="class in bitronix.tm"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm//class-useBitronixUserTransactionObjectFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixUserTransactionObjectFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.BitronixUserTransactionObjectFactory</B></H2>
+</CENTER>
+No usage of bitronix.tm.BitronixUserTransactionObjectFactory
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../bitronix/tm/BitronixUserTransactionObjectFactory.html" title="class in bitronix.tm"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm//class-useBitronixUserTransactionObjectFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixUserTransactionObjectFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/class-use/BitronixXid.html b/doc/api/bitronix/tm/class-use/BitronixXid.html
new file mode 100644
index 0000000..3da153c
--- /dev/null
+++ b/doc/api/bitronix/tm/class-use/BitronixXid.html
@@ -0,0 +1,284 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.BitronixXid (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.BitronixXid (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm//class-useBitronixXid.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixXid.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.BitronixXid</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.internal"><B>bitronix.tm.internal</B></A></TD>
+<TD>
+ Internal implementation details. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.common"><B>bitronix.tm.resource.common</B></A></TD>
+<TD>
+ Resource management code common across all resource types. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.utils"><B>bitronix.tm.utils</B></A></TD>
+<TD>
+ Misc utility classes. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.internal"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A> in <A HREF="../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A> that return <A HREF="../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A></CODE></FONT></TD>
+<TD><CODE><B>XAResourceHolderState.</B><B><A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html#getXid()">getXid</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A> with parameters of type <A HREF="../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XAResourceHolderState.</B><B><A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html#setXid(bitronix.tm.BitronixXid)">setXid</A></B>(<A HREF="../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A> xid)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.common"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A> in <A HREF="../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A> with parameters of type <A HREF="../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XAResourceHolder.</B><B><A HREF="../../../bitronix/tm/resource/common/XAResourceHolder.html#putXAResourceHolderState(bitronix.tm.BitronixXid, bitronix.tm.internal.XAResourceHolderState)">putXAResourceHolderState</A></B>(<A HREF="../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A> xid,
+ <A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</CODE>
+
+<BR>
+ Add a <A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A> of this wrapped resource.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractXAResourceHolder.</B><B><A HREF="../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html#putXAResourceHolderState(bitronix.tm.BitronixXid, bitronix.tm.internal.XAResourceHolderState)">putXAResourceHolderState</A></B>(<A HREF="../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A> xid,
+ <A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XAResourceHolder.</B><B><A HREF="../../../bitronix/tm/resource/common/XAResourceHolder.html#removeXAResourceHolderState(bitronix.tm.BitronixXid)">removeXAResourceHolderState</A></B>(<A HREF="../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A> xid)</CODE>
+
+<BR>
+ Remove all states related to a specific Xid from this wrapped resource.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractXAResourceHolder.</B><B><A HREF="../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html#removeXAResourceHolderState(bitronix.tm.BitronixXid)">removeXAResourceHolderState</A></B>(<A HREF="../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A> xid)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.utils"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A> in <A HREF="../../../bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A> that return <A HREF="../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A></CODE></FONT></TD>
+<TD><CODE><B>UidGenerator.</B><B><A HREF="../../../bitronix/tm/utils/UidGenerator.html#generateXid(bitronix.tm.utils.Uid)">generateXid</A></B>(<A HREF="../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> gtrid)</CODE>
+
+<BR>
+ Generate a XID with the specified globalTransactionId.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm//class-useBitronixXid.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixXid.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/class-use/Configuration.html b/doc/api/bitronix/tm/class-use/Configuration.html
new file mode 100644
index 0000000..e23f83e
--- /dev/null
+++ b/doc/api/bitronix/tm/class-use/Configuration.html
@@ -0,0 +1,353 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.Configuration (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.Configuration (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../bitronix/tm/Configuration.html" title="class in bitronix.tm"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm//class-useConfiguration.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Configuration.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.Configuration</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm"><B>bitronix.tm</B></A></TD>
+<TD>
+ JTA interfaces implementations and global services. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A> in <A HREF="../../../bitronix/tm/package-summary.html">bitronix.tm</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../bitronix/tm/package-summary.html">bitronix.tm</A> that return <A HREF="../../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B>TransactionManagerServices.</B><B><A HREF="../../../bitronix/tm/TransactionManagerServices.html#getConfiguration()">getConfiguration</A></B>()</CODE>
+
+<BR>
+ Create the configuration of all the components of the transaction manager.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B>Configuration.</B><B><A HREF="../../../bitronix/tm/Configuration.html#setAllowMultipleLrc(boolean)">setAllowMultipleLrc</A></B>(boolean allowMultipleLrc)</CODE>
+
+<BR>
+ Set to true if the transaction manager should allow enlistment of multiple LRC resources in a single transaction.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B>Configuration.</B><B><A HREF="../../../bitronix/tm/Configuration.html#setAsynchronous2Pc(boolean)">setAsynchronous2Pc</A></B>(boolean asynchronous2Pc)</CODE>
+
+<BR>
+ Set if two phase commit should be executed asynchronously.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B>Configuration.</B><B><A HREF="../../../bitronix/tm/Configuration.html#setBackgroundRecoveryInterval(int)">setBackgroundRecoveryInterval</A></B>(int backgroundRecoveryInterval)</CODE>
+
+<BR>
+ <B>Deprecated.</B> <I>superceded by #setBackgroundRecoveryIntervalSeconds(int).</I></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B>Configuration.</B><B><A HREF="../../../bitronix/tm/Configuration.html#setBackgroundRecoveryIntervalSeconds(int)">setBackgroundRecoveryIntervalSeconds</A></B>(int backgroundRecoveryIntervalSeconds)</CODE>
+
+<BR>
+ Set the interval in seconds at which to run the recovery process in the background.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B>Configuration.</B><B><A HREF="../../../bitronix/tm/Configuration.html#setCurrentNodeOnlyRecovery(boolean)">setCurrentNodeOnlyRecovery</A></B>(boolean currentNodeOnlyRecovery)</CODE>
+
+<BR>
+ Set to true if recovery should filter out recovered XIDs that do not contain this JVM's unique ID, false otherwise.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B>Configuration.</B><B><A HREF="../../../bitronix/tm/Configuration.html#setDefaultTransactionTimeout(int)">setDefaultTransactionTimeout</A></B>(int defaultTransactionTimeout)</CODE>
+
+<BR>
+ Set the default transaction timeout in seconds.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B>Configuration.</B><B><A HREF="../../../bitronix/tm/Configuration.html#setDisableJmx(boolean)">setDisableJmx</A></B>(boolean disableJmx)</CODE>
+
+<BR>
+ Set to true if JMX Mbeans should not be registered even if a JMX MBean server is detected.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B>Configuration.</B><B><A HREF="../../../bitronix/tm/Configuration.html#setFilterLogStatus(boolean)">setFilterLogStatus</A></B>(boolean filterLogStatus)</CODE>
+
+<BR>
+ Set if only mandatory logs should be written.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B>Configuration.</B><B><A HREF="../../../bitronix/tm/Configuration.html#setForceBatchingEnabled(boolean)">setForceBatchingEnabled</A></B>(boolean forceBatchingEnabled)</CODE>
+
+<BR>
+ Set if disk forces are batched.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B>Configuration.</B><B><A HREF="../../../bitronix/tm/Configuration.html#setForcedWriteEnabled(boolean)">setForcedWriteEnabled</A></B>(boolean forcedWriteEnabled)</CODE>
+
+<BR>
+ Set if logs are forced to disk.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B>Configuration.</B><B><A HREF="../../../bitronix/tm/Configuration.html#setGracefulShutdownInterval(int)">setGracefulShutdownInterval</A></B>(int gracefulShutdownInterval)</CODE>
+
+<BR>
+ Set the maximum amount of seconds the TM will wait for transactions to get done before aborting them at shutdown
+ time.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B>Configuration.</B><B><A HREF="../../../bitronix/tm/Configuration.html#setJndiTransactionSynchronizationRegistryName(java.lang.String)">setJndiTransactionSynchronizationRegistryName</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> jndiTransactionSynchronizationRegistryName)</CODE>
+
+<BR>
+ Set the name the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionSynchronizationRegistry.html?is-external=true" title="class or interface in javax.transaction"><CODE>TransactionSynchronizationRegistry</CODE></A> should be bound under in the
+ <A HREF="../../../bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi"><CODE>BitronixContext</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B>Configuration.</B><B><A HREF="../../../bitronix/tm/Configuration.html#setJndiUserTransactionName(java.lang.String)">setJndiUserTransactionName</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> jndiUserTransactionName)</CODE>
+
+<BR>
+ Set the name the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/UserTransaction.html?is-external=true" title="class or interface in javax.transaction"><CODE>UserTransaction</CODE></A> should be bound under in the
+ <A HREF="../../../bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi"><CODE>BitronixContext</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B>Configuration.</B><B><A HREF="../../../bitronix/tm/Configuration.html#setJournal(java.lang.String)">setJournal</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> journal)</CODE>
+
+<BR>
+ Set the journal name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B>Configuration.</B><B><A HREF="../../../bitronix/tm/Configuration.html#setLogPart1Filename(java.lang.String)">setLogPart1Filename</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> logPart1Filename)</CODE>
+
+<BR>
+ Set the journal fragment file 1 name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B>Configuration.</B><B><A HREF="../../../bitronix/tm/Configuration.html#setLogPart2Filename(java.lang.String)">setLogPart2Filename</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> logPart2Filename)</CODE>
+
+<BR>
+ Set the journal fragment file 2 name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B>Configuration.</B><B><A HREF="../../../bitronix/tm/Configuration.html#setMaxLogSizeInMb(int)">setMaxLogSizeInMb</A></B>(int maxLogSizeInMb)</CODE>
+
+<BR>
+ Set the Maximum size in megabytes of the journal fragments.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B>Configuration.</B><B><A HREF="../../../bitronix/tm/Configuration.html#setResourceConfigurationFilename(java.lang.String)">setResourceConfigurationFilename</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> resourceConfigurationFilename)</CODE>
+
+<BR>
+ Set the <A HREF="../../../bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource"><CODE>ResourceLoader</CODE></A> configuration file name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B>Configuration.</B><B><A HREF="../../../bitronix/tm/Configuration.html#setServerId(java.lang.String)">setServerId</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> serverId)</CODE>
+
+<BR>
+ Set the ASCII ID that must uniquely identify this TM instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B>Configuration.</B><B><A HREF="../../../bitronix/tm/Configuration.html#setSkipCorruptedLogs(boolean)">setSkipCorruptedLogs</A></B>(boolean skipCorruptedLogs)</CODE>
+
+<BR>
+ Set if corrupted logs should be skipped.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></CODE></FONT></TD>
+<TD><CODE><B>Configuration.</B><B><A HREF="../../../bitronix/tm/Configuration.html#setWarnAboutZeroResourceTransaction(boolean)">setWarnAboutZeroResourceTransaction</A></B>(boolean warnAboutZeroResourceTransaction)</CODE>
+
+<BR>
+ Set if transactions executed without a single enlisted resource should result in a warning or not.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../bitronix/tm/Configuration.html" title="class in bitronix.tm"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm//class-useConfiguration.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Configuration.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/class-use/TransactionManagerServices.html b/doc/api/bitronix/tm/class-use/TransactionManagerServices.html
new file mode 100644
index 0000000..0890caf
--- /dev/null
+++ b/doc/api/bitronix/tm/class-use/TransactionManagerServices.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.TransactionManagerServices (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.TransactionManagerServices (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../bitronix/tm/TransactionManagerServices.html" title="class in bitronix.tm"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm//class-useTransactionManagerServices.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionManagerServices.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.TransactionManagerServices</B></H2>
+</CENTER>
+No usage of bitronix.tm.TransactionManagerServices
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../bitronix/tm/TransactionManagerServices.html" title="class in bitronix.tm"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm//class-useTransactionManagerServices.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionManagerServices.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/class-use/Version.html b/doc/api/bitronix/tm/class-use/Version.html
new file mode 100644
index 0000000..109ab90
--- /dev/null
+++ b/doc/api/bitronix/tm/class-use/Version.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.Version (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.Version (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../bitronix/tm/Version.html" title="class in bitronix.tm"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm//class-useVersion.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Version.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.Version</B></H2>
+</CENTER>
+No usage of bitronix.tm.Version
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../bitronix/tm/Version.html" title="class in bitronix.tm"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm//class-useVersion.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Version.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/gui/Console.html b/doc/api/bitronix/tm/gui/Console.html
new file mode 100644
index 0000000..5674d58
--- /dev/null
+++ b/doc/api/bitronix/tm/gui/Console.html
@@ -0,0 +1,495 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:01 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Console (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Console (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Console.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../bitronix/tm/gui/DuplicatedGtridTableModel.html" title="class in bitronix.tm.gui"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/gui/Console.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Console.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: <A HREF="#nested_classes_inherited_from_class_javax.swing.JFrame">NESTED</A> | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.gui</FONT>
+<BR>
+Class Console</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">java.awt.Component</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">java.awt.Container</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Window.html?is-external=true" title="class or interface in java.awt">java.awt.Window</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Frame.html?is-external=true" title="class or interface in java.awt">java.awt.Frame</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">javax.swing.JFrame</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.gui.Console</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/MenuContainer.html?is-external=true" title="class or interface in java.awt">MenuContainer</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"> [...]
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>Console</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">JFrame</A></DL>
+</PRE>
+
+<P>
+<p></p>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#bitronix.tm.gui.Console">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="nested_classes_inherited_from_class_javax.swing.JFrame"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">JFrame</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JFrame.AccessibleJFrame.html?is-external=true" title="class or interface in javax.swing">JFrame.AccessibleJFrame</A></CODE></TD>
+</TR>
+</TABLE>
+
+<A NAME="nested_classes_inherited_from_class_java.awt.Frame"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Frame.html?is-external=true" title="class or interface in java.awt">Frame</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Frame.AccessibleAWTFrame.html?is-external=true" title="class or interface in java.awt">Frame.AccessibleAWTFrame</A></CODE></TD>
+</TR>
+</TABLE>
+
+<A NAME="nested_classes_inherited_from_class_java.awt.Window"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Window.html?is-external=true" title="class or interface in java.awt">Window</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Window.AccessibleAWTWindow.html?is-external=true" title="class or interface in java.awt">Window.AccessibleAWTWindow</A></CODE></TD>
+</TR>
+</TABLE>
+
+<A NAME="nested_classes_inherited_from_class_java.awt.Container"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.AccessibleAWTContainer.html?is-external=true" title="class or interface in java.awt">Container.AccessibleAWTContainer</A></CODE></TD>
+</TR>
+</TABLE>
+
+<A NAME="nested_classes_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.AccessibleAWTComponent.html?is-external=true" title="class or interface in java.awt">Component.AccessibleAWTComponent</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.BaselineResizeBehavior.html?is-external=true" title="class or interface in java.awt">Component.BaselineResizeBehavior</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.BltBufferStrategy.html?is-extern [...]
+</TR>
+</TABLE>
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/text/SimpleDateFormat.html?is-external=true" title="class or interface in java.text">SimpleDateFormat</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/Console.html#dateFormatter">dateFormatter</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_javax.swing.JFrame"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">JFrame</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JFrame.html?is-external=true#accessibleContext" title="class or interface in javax.swing">accessibleContext</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JFrame.html?is-external=true#EXIT_ON_CLOSE" title="class or interface in javax.swing">EXIT_ON_CLOSE</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JFrame.html?is-external=true#rootPane" title="class or interface in javax.swing"> [...]
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_java.awt.Frame"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Frame.html?is-external=true" title="class or interface in java.awt">Frame</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Frame.html?is-external=true#CROSSHAIR_CURSOR" title="class or interface in java.awt">CROSSHAIR_CURSOR</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Frame.html?is-external=true#DEFAULT_CURSOR" title="class or interface in java.awt">DEFAULT_CURSOR</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Frame.html?is-external=true#E_RESIZE_CURSOR" title="class or interface in java.awt">E_RESIZE_CURSO [...]
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true#BOTTOM_ALIGNMENT" title="class or interface in java.awt">BOTTOM_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true#CENTER_ALIGNMENT" title="class or interface in java.awt">CENTER_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true#LEFT_ALIGNMENT" title="class or interface in java.awt" [...]
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_javax.swing.WindowConstants"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/WindowConstants.html?is-external=true" title="class or interface in javax.swing">WindowConstants</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/WindowConstants.html?is-external=true#DISPOSE_ON_CLOSE" title="class or interface in javax.swing">DISPOSE_ON_CLOSE</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/WindowConstants.html?is-external=true#DO_NOTHING_ON_CLOSE" title="class or interface in javax.swing">DO_NOTHING_ON_CLOSE</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/WindowConstants.html?is-external=true#HIDE_ON_CLOSE" [...]
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_java.awt.image.ImageObserver"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface java.awt.image.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/ImageObserver.html?is-external=true#ABORT" title="class or interface in java.awt.image">ABORT</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/ImageObserver.html?is-external=true#ALLBITS" title="class or interface in java.awt.image">ALLBITS</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/ImageObserver.html?is-external=true#ERROR" title="class or interface in java.awt.image"> [...]
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/Console.html#Console()">Console</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/Console.html#main(java.lang.String[])">main</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[] args)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/Console.html#pickCurrentLogFile(java.io.File, java.io.File)">pickCurrentLogFile</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A> file1,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A> file2)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_javax.swing.JFrame"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">JFrame</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JFrame.html?is-external=true#addImpl(java.awt.Component, java.lang.Object, int)" title="class or interface in javax.swing">addImpl</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JFrame.html?is-external=true#createRootPane()" title="class or interface in javax.swing">createRootPane</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JFrame.html?is-external=true#frameInit()" title="class [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.awt.Frame"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Frame.html?is-external=true" title="class or interface in java.awt">Frame</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Frame.html?is-external=true#addNotify()" title="class or interface in java.awt">addNotify</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Frame.html?is-external=true#getCursorType()" title="class or interface in java.awt">getCursorType</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Frame.html?is-external=true#getExtendedState()" title="class or interface in java.awt">getExtendedState</A>, < [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.awt.Window"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Window.html?is-external=true" title="class or interface in java.awt">Window</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Window.html?is-external=true#addPropertyChangeListener(java.beans.PropertyChangeListener)" title="class or interface in java.awt">addPropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Window.html?is-external=true#addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)" title="class or interface in java.awt">addPropertyChangeListener</A>, <A HREF="http://java.sun.c [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, int)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, java.lang.Object)" title="class or in [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true#action(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">action</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true#add(java.awt.PopupMenu)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true#addComponentListener(java.awt.event.ComponentL [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.awt.MenuContainer"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from interface java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/MenuContainer.html?is-external=true" title="class or interface in java.awt">MenuContainer</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/MenuContainer.html?is-external=true#getFont()" title="class or interface in java.awt">getFont</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/MenuContainer.html?is-external=true#postEvent(java.awt.Event)" title="class or interface in java.awt">postEvent</A></CODE></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="dateFormatter"><!-- --></A><H3>
+dateFormatter</H3>
+<PRE>
+protected static final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/text/SimpleDateFormat.html?is-external=true" title="class or interface in java.text">SimpleDateFormat</A> <B>dateFormatter</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="Console()"><!-- --></A><H3>
+Console</H3>
+<PRE>
+public <B>Console</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE></DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="pickCurrentLogFile(java.io.File, java.io.File)"><!-- --></A><H3>
+pickCurrentLogFile</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A> <B>pickCurrentLogFile</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A> file1,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A> file2)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="main(java.lang.String[])"><!-- --></A><H3>
+main</H3>
+<PRE>
+public static void <B>main</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[] args)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Console.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../bitronix/tm/gui/DuplicatedGtridTableModel.html" title="class in bitronix.tm.gui"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/gui/Console.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Console.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: <A HREF="#nested_classes_inherited_from_class_javax.swing.JFrame">NESTED</A> | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/gui/DuplicatedGtridTableModel.html b/doc/api/bitronix/tm/gui/DuplicatedGtridTableModel.html
new file mode 100644
index 0000000..16816e9
--- /dev/null
+++ b/doc/api/bitronix/tm/gui/DuplicatedGtridTableModel.html
@@ -0,0 +1,338 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:02 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+DuplicatedGtridTableModel (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="DuplicatedGtridTableModel (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DuplicatedGtridTableModel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/gui/Console.html" title="class in bitronix.tm.gui"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/gui/PendingTransactionTableModel.html" title="class in bitronix.tm.gui"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/gui/DuplicatedGtridTableModel.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="DuplicatedGtridTableModel.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_javax.swing.table.DefaultTableModel">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.gui</FONT>
+<BR>
+Class DuplicatedGtridTableModel</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true" title="class or interface in javax.swing.table">javax.swing.table.AbstractTableModel</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true" title="class or interface in javax.swing.table">javax.swing.table.DefaultTableModel</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.gui.DuplicatedGtridTableModel</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/TableModel.html?is-external=true" title="class or interface in javax.swing.table">TableModel</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>DuplicatedGtridTableModel</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true" title="class or interface in javax.swing.table">DefaultTableModel</A></DL>
+</PRE>
+
+<P>
+<p></p>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#bitronix.tm.gui.DuplicatedGtridTableModel">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_javax.swing.table.DefaultTableModel"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class javax.swing.table.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true" title="class or interface in javax.swing.table">DefaultTableModel</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#columnIdentifiers" title="class or interface in javax.swing.table">columnIdentifiers</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#dataVector" title="class or interface in javax.swing.table">dataVector</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_javax.swing.table.AbstractTableModel"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class javax.swing.table.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true" title="class or interface in javax.swing.table">AbstractTableModel</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#listenerList" title="class or interface in javax.swing.table">listenerList</A></CODE></TD>
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/DuplicatedGtridTableModel.html#DuplicatedGtridTableModel(java.util.Map)">DuplicatedGtridTableModel</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A> map)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/DuplicatedGtridTableModel.html#getColumnName(int)">getColumnName</A></B>(int column)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/DuplicatedGtridTableModel.html#getValueAt(int, int)">getValueAt</A></B>(int row,
+ int column)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_javax.swing.table.DefaultTableModel"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class javax.swing.table.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true" title="class or interface in javax.swing.table">DefaultTableModel</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#addColumn(java.lang.Object)" title="class or interface in javax.swing.table">addColumn</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true#addColumn(java.lang.Object, java.lang.Object[])" title="class or interface in javax.swing.table">addColumn</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/tab [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_javax.swing.table.AbstractTableModel"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class javax.swing.table.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true" title="class or interface in javax.swing.table">AbstractTableModel</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#addTableModelListener(javax.swing.event.TableModelListener)" title="class or interface in javax.swing.table">addTableModelListener</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true#findColumn(java.lang.String)" title="class or interface in javax.swing.table">findColumn</A>, <A HREF="http://java.sun.com/j2se/1. [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="DuplicatedGtridTableModel(java.util.Map)"><!-- --></A><H3>
+DuplicatedGtridTableModel</H3>
+<PRE>
+public <B>DuplicatedGtridTableModel</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A> map)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getColumnName(int)"><!-- --></A><H3>
+getColumnName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getColumnName</B>(int column)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/TableModel.html?is-external=true#getColumnName(int)" title="class or interface in javax.swing.table">getColumnName</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/TableModel.html?is-external=true" title="class or interface in javax.swing.table">TableModel</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/ [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getValueAt(int, int)"><!-- --></A><H3>
+getValueAt</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getValueAt</B>(int row,
+ int column)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/TableModel.html?is-external=true#getValueAt(int, int)" title="class or interface in javax.swing.table">getValueAt</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/TableModel.html?is-external=true" title="class or interface in javax.swing.table">TableModel</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/a [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DuplicatedGtridTableModel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/gui/Console.html" title="class in bitronix.tm.gui"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/gui/PendingTransactionTableModel.html" title="class in bitronix.tm.gui"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/gui/DuplicatedGtridTableModel.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="DuplicatedGtridTableModel.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_javax.swing.table.DefaultTableModel">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/gui/PendingTransactionTableModel.html b/doc/api/bitronix/tm/gui/PendingTransactionTableModel.html
new file mode 100644
index 0000000..4c38c02
--- /dev/null
+++ b/doc/api/bitronix/tm/gui/PendingTransactionTableModel.html
@@ -0,0 +1,512 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:02 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+PendingTransactionTableModel (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="PendingTransactionTableModel (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PendingTransactionTableModel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/gui/DuplicatedGtridTableModel.html" title="class in bitronix.tm.gui"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/gui/RawTransactionTableModel.html" title="class in bitronix.tm.gui"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/gui/PendingTransactionTableModel.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PendingTransactionTableModel.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_bitronix.tm.gui.TransactionTableModel">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.gui</FONT>
+<BR>
+Class PendingTransactionTableModel</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../bitronix/tm/gui/TransactionTableModel.html" title="class in bitronix.tm.gui">bitronix.tm.gui.TransactionTableModel</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.gui.PendingTransactionTableModel</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/TableModel.html?is-external=true" title="class or interface in javax.swing.table">TableModel</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>PendingTransactionTableModel</B><DT>extends <A HREF="../../../bitronix/tm/gui/TransactionTableModel.html" title="class in bitronix.tm.gui">TransactionTableModel</A></DL>
+</PRE>
+
+<P>
+<p></p>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_bitronix.tm.gui.TransactionTableModel"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class bitronix.tm.gui.<A HREF="../../../bitronix/tm/gui/TransactionTableModel.html" title="class in bitronix.tm.gui">TransactionTableModel</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../bitronix/tm/gui/TransactionTableModel.html#tLogs">tLogs</A></CODE></TD>
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/PendingTransactionTableModel.html#PendingTransactionTableModel(java.io.File)">PendingTransactionTableModel</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A> filename)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/PendingTransactionTableModel.html#acceptLog(bitronix.tm.journal.TransactionLogRecord)">acceptLog</A></B>(<A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A> tlog)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/PendingTransactionTableModel.html#addTableModelListener(javax.swing.event.TableModelListener)">addTableModelListener</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/event/TableModelListener.html?is-external=true" title="class or interface in javax.swing.event">TableModelListener</A> l)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/PendingTransactionTableModel.html#getColumnClass(int)">getColumnClass</A></B>(int columnIndex)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/PendingTransactionTableModel.html#getColumnCount()">getColumnCount</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/PendingTransactionTableModel.html#getColumnName(int)">getColumnName</A></B>(int columnIndex)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/PendingTransactionTableModel.html#getRow(int)">getRow</A></B>(int row)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/PendingTransactionTableModel.html#getRowCount()">getRowCount</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/PendingTransactionTableModel.html#getValueAt(int, int)">getValueAt</A></B>(int rowIndex,
+ int columnIndex)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/PendingTransactionTableModel.html#isCellEditable(int, int)">isCellEditable</A></B>(int rowIndex,
+ int columnIndex)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/PendingTransactionTableModel.html#readFullTransactionLog(java.io.File)">readFullTransactionLog</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A> filename)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/PendingTransactionTableModel.html#removeTableModelListener(javax.swing.event.TableModelListener)">removeTableModelListener</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/event/TableModelListener.html?is-external=true" title="class or interface in javax.swing.event">TableModelListener</A> l)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/PendingTransactionTableModel.html#setValueAt(java.lang.Object, int, int)">setValueAt</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> aValue,
+ int rowIndex,
+ int columnIndex)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="PendingTransactionTableModel(java.io.File)"><!-- --></A><H3>
+PendingTransactionTableModel</H3>
+<PRE>
+public <B>PendingTransactionTableModel</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A> filename)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getColumnCount()"><!-- --></A><H3>
+getColumnCount</H3>
+<PRE>
+public int <B>getColumnCount</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRowCount()"><!-- --></A><H3>
+getRowCount</H3>
+<PRE>
+public int <B>getRowCount</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isCellEditable(int, int)"><!-- --></A><H3>
+isCellEditable</H3>
+<PRE>
+public boolean <B>isCellEditable</B>(int rowIndex,
+ int columnIndex)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getColumnClass(int)"><!-- --></A><H3>
+getColumnClass</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> <B>getColumnClass</B>(int columnIndex)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getValueAt(int, int)"><!-- --></A><H3>
+getValueAt</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getValueAt</B>(int rowIndex,
+ int columnIndex)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setValueAt(java.lang.Object, int, int)"><!-- --></A><H3>
+setValueAt</H3>
+<PRE>
+public void <B>setValueAt</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> aValue,
+ int rowIndex,
+ int columnIndex)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getColumnName(int)"><!-- --></A><H3>
+getColumnName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getColumnName</B>(int columnIndex)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addTableModelListener(javax.swing.event.TableModelListener)"><!-- --></A><H3>
+addTableModelListener</H3>
+<PRE>
+public void <B>addTableModelListener</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/event/TableModelListener.html?is-external=true" title="class or interface in javax.swing.event">TableModelListener</A> l)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeTableModelListener(javax.swing.event.TableModelListener)"><!-- --></A><H3>
+removeTableModelListener</H3>
+<PRE>
+public void <B>removeTableModelListener</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/event/TableModelListener.html?is-external=true" title="class or interface in javax.swing.event">TableModelListener</A> l)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="readFullTransactionLog(java.io.File)"><!-- --></A><H3>
+readFullTransactionLog</H3>
+<PRE>
+protected void <B>readFullTransactionLog</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A> filename)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../bitronix/tm/gui/TransactionTableModel.html#readFullTransactionLog(java.io.File)">readFullTransactionLog</A></CODE> in class <CODE><A HREF="../../../bitronix/tm/gui/TransactionTableModel.html" title="class in bitronix.tm.gui">TransactionTableModel</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="acceptLog(bitronix.tm.journal.TransactionLogRecord)"><!-- --></A><H3>
+acceptLog</H3>
+<PRE>
+public boolean <B>acceptLog</B>(<A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A> tlog)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/gui/TransactionTableModel.html#acceptLog(bitronix.tm.journal.TransactionLogRecord)">acceptLog</A></CODE> in class <CODE><A HREF="../../../bitronix/tm/gui/TransactionTableModel.html" title="class in bitronix.tm.gui">TransactionTableModel</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRow(int)"><!-- --></A><H3>
+getRow</H3>
+<PRE>
+public <A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A> <B>getRow</B>(int row)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/gui/TransactionTableModel.html#getRow(int)">getRow</A></CODE> in class <CODE><A HREF="../../../bitronix/tm/gui/TransactionTableModel.html" title="class in bitronix.tm.gui">TransactionTableModel</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PendingTransactionTableModel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/gui/DuplicatedGtridTableModel.html" title="class in bitronix.tm.gui"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/gui/RawTransactionTableModel.html" title="class in bitronix.tm.gui"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/gui/PendingTransactionTableModel.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PendingTransactionTableModel.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_bitronix.tm.gui.TransactionTableModel">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/gui/RawTransactionTableModel.html b/doc/api/bitronix/tm/gui/RawTransactionTableModel.html
new file mode 100644
index 0000000..ea986d8
--- /dev/null
+++ b/doc/api/bitronix/tm/gui/RawTransactionTableModel.html
@@ -0,0 +1,542 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:02 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+RawTransactionTableModel (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="RawTransactionTableModel (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RawTransactionTableModel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/gui/PendingTransactionTableModel.html" title="class in bitronix.tm.gui"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/gui/ResourcesPanel.html" title="class in bitronix.tm.gui"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/gui/RawTransactionTableModel.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="RawTransactionTableModel.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.gui</FONT>
+<BR>
+Class RawTransactionTableModel</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../bitronix/tm/gui/TransactionTableModel.html" title="class in bitronix.tm.gui">bitronix.tm.gui.TransactionTableModel</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.gui.RawTransactionTableModel</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/TableModel.html?is-external=true" title="class or interface in javax.swing.table">TableModel</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>RawTransactionTableModel</B><DT>extends <A HREF="../../../bitronix/tm/gui/TransactionTableModel.html" title="class in bitronix.tm.gui">TransactionTableModel</A></DL>
+</PRE>
+
+<P>
+<p></p>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/RawTransactionTableModel.html#GTRID_COL">GTRID_COL</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_bitronix.tm.gui.TransactionTableModel"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class bitronix.tm.gui.<A HREF="../../../bitronix/tm/gui/TransactionTableModel.html" title="class in bitronix.tm.gui">TransactionTableModel</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../bitronix/tm/gui/TransactionTableModel.html#tLogs">tLogs</A></CODE></TD>
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/RawTransactionTableModel.html#RawTransactionTableModel(java.io.File)">RawTransactionTableModel</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A> filename)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/RawTransactionTableModel.html#acceptLog(bitronix.tm.journal.TransactionLogRecord)">acceptLog</A></B>(<A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A> tlog)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/RawTransactionTableModel.html#addTableModelListener(javax.swing.event.TableModelListener)">addTableModelListener</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/event/TableModelListener.html?is-external=true" title="class or interface in javax.swing.event">TableModelListener</A> l)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/RawTransactionTableModel.html#filterByGtrid(java.lang.String)">filterByGtrid</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> gtrid)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/RawTransactionTableModel.html#getColumnClass(int)">getColumnClass</A></B>(int columnIndex)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/RawTransactionTableModel.html#getColumnCount()">getColumnCount</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/RawTransactionTableModel.html#getColumnName(int)">getColumnName</A></B>(int columnIndex)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/RawTransactionTableModel.html#getRow(int)">getRow</A></B>(int row)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/RawTransactionTableModel.html#getRowCount()">getRowCount</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/RawTransactionTableModel.html#getValueAt(int, int)">getValueAt</A></B>(int rowIndex,
+ int columnIndex)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/RawTransactionTableModel.html#isCellEditable(int, int)">isCellEditable</A></B>(int rowIndex,
+ int columnIndex)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/RawTransactionTableModel.html#removeTableModelListener(javax.swing.event.TableModelListener)">removeTableModelListener</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/event/TableModelListener.html?is-external=true" title="class or interface in javax.swing.event">TableModelListener</A> l)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/RawTransactionTableModel.html#setValueAt(java.lang.Object, int, int)">setValueAt</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> aValue,
+ int rowIndex,
+ int columnIndex)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.gui.TransactionTableModel"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class bitronix.tm.gui.<A HREF="../../../bitronix/tm/gui/TransactionTableModel.html" title="class in bitronix.tm.gui">TransactionTableModel</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../bitronix/tm/gui/TransactionTableModel.html#readFullTransactionLog(java.io.File)">readFullTransactionLog</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="GTRID_COL"><!-- --></A><H3>
+GTRID_COL</H3>
+<PRE>
+public static final int <B>GTRID_COL</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#bitronix.tm.gui.RawTransactionTableModel.GTRID_COL">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="RawTransactionTableModel(java.io.File)"><!-- --></A><H3>
+RawTransactionTableModel</H3>
+<PRE>
+public <B>RawTransactionTableModel</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A> filename)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getColumnCount()"><!-- --></A><H3>
+getColumnCount</H3>
+<PRE>
+public int <B>getColumnCount</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRowCount()"><!-- --></A><H3>
+getRowCount</H3>
+<PRE>
+public int <B>getRowCount</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isCellEditable(int, int)"><!-- --></A><H3>
+isCellEditable</H3>
+<PRE>
+public boolean <B>isCellEditable</B>(int rowIndex,
+ int columnIndex)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getColumnClass(int)"><!-- --></A><H3>
+getColumnClass</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> <B>getColumnClass</B>(int columnIndex)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getValueAt(int, int)"><!-- --></A><H3>
+getValueAt</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getValueAt</B>(int rowIndex,
+ int columnIndex)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setValueAt(java.lang.Object, int, int)"><!-- --></A><H3>
+setValueAt</H3>
+<PRE>
+public void <B>setValueAt</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> aValue,
+ int rowIndex,
+ int columnIndex)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getColumnName(int)"><!-- --></A><H3>
+getColumnName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getColumnName</B>(int columnIndex)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addTableModelListener(javax.swing.event.TableModelListener)"><!-- --></A><H3>
+addTableModelListener</H3>
+<PRE>
+public void <B>addTableModelListener</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/event/TableModelListener.html?is-external=true" title="class or interface in javax.swing.event">TableModelListener</A> l)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeTableModelListener(javax.swing.event.TableModelListener)"><!-- --></A><H3>
+removeTableModelListener</H3>
+<PRE>
+public void <B>removeTableModelListener</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/event/TableModelListener.html?is-external=true" title="class or interface in javax.swing.event">TableModelListener</A> l)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="acceptLog(bitronix.tm.journal.TransactionLogRecord)"><!-- --></A><H3>
+acceptLog</H3>
+<PRE>
+public boolean <B>acceptLog</B>(<A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A> tlog)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/gui/TransactionTableModel.html#acceptLog(bitronix.tm.journal.TransactionLogRecord)">acceptLog</A></CODE> in class <CODE><A HREF="../../../bitronix/tm/gui/TransactionTableModel.html" title="class in bitronix.tm.gui">TransactionTableModel</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRow(int)"><!-- --></A><H3>
+getRow</H3>
+<PRE>
+public <A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A> <B>getRow</B>(int row)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/gui/TransactionTableModel.html#getRow(int)">getRow</A></CODE> in class <CODE><A HREF="../../../bitronix/tm/gui/TransactionTableModel.html" title="class in bitronix.tm.gui">TransactionTableModel</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="filterByGtrid(java.lang.String)"><!-- --></A><H3>
+filterByGtrid</H3>
+<PRE>
+public void <B>filterByGtrid</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> gtrid)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RawTransactionTableModel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/gui/PendingTransactionTableModel.html" title="class in bitronix.tm.gui"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/gui/ResourcesPanel.html" title="class in bitronix.tm.gui"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/gui/RawTransactionTableModel.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="RawTransactionTableModel.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/gui/ResourcesPanel.html b/doc/api/bitronix/tm/gui/ResourcesPanel.html
new file mode 100644
index 0000000..7aad2d8
--- /dev/null
+++ b/doc/api/bitronix/tm/gui/ResourcesPanel.html
@@ -0,0 +1,357 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:02 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+ResourcesPanel (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="ResourcesPanel (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ResourcesPanel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/gui/RawTransactionTableModel.html" title="class in bitronix.tm.gui"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/gui/ResourcesTreeModel.html" title="class in bitronix.tm.gui"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/gui/ResourcesPanel.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ResourcesPanel.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: <A HREF="#nested_classes_inherited_from_class_javax.swing.JPanel">NESTED</A> | <A HREF="#fields_inherited_from_class_javax.swing.JComponent">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_javax.swing.JPanel">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.gui</FONT>
+<BR>
+Class ResourcesPanel</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">java.awt.Component</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">java.awt.Container</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">javax.swing.JComponent</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JPanel.html?is-external=true" title="class or interface in javax.swing">javax.swing.JPanel</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.gui.ResourcesPanel</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/MenuContainer.html?is-external=true" title="class or interface in java.awt">MenuContainer</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"> [...]
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>ResourcesPanel</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JPanel.html?is-external=true" title="class or interface in javax.swing">JPanel</A></DL>
+</PRE>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#bitronix.tm.gui.ResourcesPanel">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="nested_classes_inherited_from_class_javax.swing.JPanel"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JPanel.html?is-external=true" title="class or interface in javax.swing">JPanel</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JPanel.AccessibleJPanel.html?is-external=true" title="class or interface in javax.swing">JPanel.AccessibleJPanel</A></CODE></TD>
+</TR>
+</TABLE>
+
+<A NAME="nested_classes_inherited_from_class_javax.swing.JComponent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">JComponent</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.AccessibleJComponent.html?is-external=true" title="class or interface in javax.swing">JComponent.AccessibleJComponent</A></CODE></TD>
+</TR>
+</TABLE>
+
+<A NAME="nested_classes_inherited_from_class_java.awt.Container"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.AccessibleAWTContainer.html?is-external=true" title="class or interface in java.awt">Container.AccessibleAWTContainer</A></CODE></TD>
+</TR>
+</TABLE>
+
+<A NAME="nested_classes_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.AccessibleAWTComponent.html?is-external=true" title="class or interface in java.awt">Component.AccessibleAWTComponent</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.BaselineResizeBehavior.html?is-external=true" title="class or interface in java.awt">Component.BaselineResizeBehavior</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.BltBufferStrategy.html?is-extern [...]
+</TR>
+</TABLE>
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_javax.swing.JComponent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">JComponent</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true#accessibleContext" title="class or interface in javax.swing">accessibleContext</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true#listenerList" title="class or interface in javax.swing">listenerList</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true#TOOL_TIP_TEXT_KEY" title="class or interfa [...]
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true#BOTTOM_ALIGNMENT" title="class or interface in java.awt">BOTTOM_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true#CENTER_ALIGNMENT" title="class or interface in java.awt">CENTER_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true#LEFT_ALIGNMENT" title="class or interface in java.awt" [...]
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_java.awt.image.ImageObserver"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface java.awt.image.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/ImageObserver.html?is-external=true#ABORT" title="class or interface in java.awt.image">ABORT</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/ImageObserver.html?is-external=true#ALLBITS" title="class or interface in java.awt.image">ALLBITS</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/ImageObserver.html?is-external=true#ERROR" title="class or interface in java.awt.image"> [...]
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/ResourcesPanel.html#ResourcesPanel()">ResourcesPanel</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_javax.swing.JPanel"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JPanel.html?is-external=true" title="class or interface in javax.swing">JPanel</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JPanel.html?is-external=true#getAccessibleContext()" title="class or interface in javax.swing">getAccessibleContext</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JPanel.html?is-external=true#getUI()" title="class or interface in javax.swing">getUI</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JPanel.html?is-external=true#getUIClassID()" title="class or interface in javax.swing"> [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_javax.swing.JComponent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">JComponent</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true#addAncestorListener(javax.swing.event.AncestorListener)" title="class or interface in javax.swing">addAncestorListener</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true#addNotify()" title="class or interface in javax.swing">addNotify</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true#addVet [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, int)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, java.lang.Object)" title="class or in [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true#action(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">action</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true#add(java.awt.PopupMenu)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true#addComponentListener(java.awt.event.ComponentL [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="ResourcesPanel()"><!-- --></A><H3>
+ResourcesPanel</H3>
+<PRE>
+public <B>ResourcesPanel</B>()</PRE>
+<DL>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ResourcesPanel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/gui/RawTransactionTableModel.html" title="class in bitronix.tm.gui"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/gui/ResourcesTreeModel.html" title="class in bitronix.tm.gui"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/gui/ResourcesPanel.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ResourcesPanel.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: <A HREF="#nested_classes_inherited_from_class_javax.swing.JPanel">NESTED</A> | <A HREF="#fields_inherited_from_class_javax.swing.JComponent">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_javax.swing.JPanel">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/gui/ResourcesTreeModel.html b/doc/api/bitronix/tm/gui/ResourcesTreeModel.html
new file mode 100644
index 0000000..195b1e3
--- /dev/null
+++ b/doc/api/bitronix/tm/gui/ResourcesTreeModel.html
@@ -0,0 +1,423 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:02 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+ResourcesTreeModel (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="ResourcesTreeModel (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ResourcesTreeModel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/gui/ResourcesPanel.html" title="class in bitronix.tm.gui"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/gui/TransactionLogDialog.html" title="class in bitronix.tm.gui"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/gui/ResourcesTreeModel.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ResourcesTreeModel.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.gui</FONT>
+<BR>
+Class ResourcesTreeModel</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.gui.ResourcesTreeModel</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/tree/TreeModel.html?is-external=true" title="class or interface in javax.swing.tree">TreeModel</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>ResourcesTreeModel</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/tree/TreeModel.html?is-external=true" title="class or interface in javax.swing.tree">TreeModel</A></DL>
+</PRE>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/ResourcesTreeModel.html#ResourcesTreeModel()">ResourcesTreeModel</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/ResourcesTreeModel.html#addTreeModelListener(javax.swing.event.TreeModelListener)">addTreeModelListener</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/event/TreeModelListener.html?is-external=true" title="class or interface in javax.swing.event">TreeModelListener</A> l)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/ResourcesTreeModel.html#getChild(java.lang.Object, int)">getChild</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> parent,
+ int index)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/ResourcesTreeModel.html#getChildCount(java.lang.Object)">getChildCount</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> parent)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/ResourcesTreeModel.html#getIndexOfChild(java.lang.Object, java.lang.Object)">getIndexOfChild</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> parent,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> child)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/ResourcesTreeModel.html#getRoot()">getRoot</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/ResourcesTreeModel.html#isLeaf(java.lang.Object)">isLeaf</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> node)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/ResourcesTreeModel.html#removeTreeModelListener(javax.swing.event.TreeModelListener)">removeTreeModelListener</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/event/TreeModelListener.html?is-external=true" title="class or interface in javax.swing.event">TreeModelListener</A> l)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/ResourcesTreeModel.html#valueForPathChanged(javax.swing.tree.TreePath, java.lang.Object)">valueForPathChanged</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/tree/TreePath.html?is-external=true" title="class or interface in javax.swing.tree">TreePath</A> path,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> newValue)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="ResourcesTreeModel()"><!-- --></A><H3>
+ResourcesTreeModel</H3>
+<PRE>
+public <B>ResourcesTreeModel</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getRoot()"><!-- --></A><H3>
+getRoot</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getRoot</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/tree/TreeModel.html?is-external=true#getRoot()" title="class or interface in javax.swing.tree">getRoot</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/tree/TreeModel.html?is-external=true" title="class or interface in javax.swing.tree">TreeModel</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getChildCount(java.lang.Object)"><!-- --></A><H3>
+getChildCount</H3>
+<PRE>
+public int <B>getChildCount</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> parent)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/tree/TreeModel.html?is-external=true#getChildCount(java.lang.Object)" title="class or interface in javax.swing.tree">getChildCount</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/tree/TreeModel.html?is-external=true" title="class or interface in javax.swing.tree">TreeModel</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isLeaf(java.lang.Object)"><!-- --></A><H3>
+isLeaf</H3>
+<PRE>
+public boolean <B>isLeaf</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> node)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/tree/TreeModel.html?is-external=true#isLeaf(java.lang.Object)" title="class or interface in javax.swing.tree">isLeaf</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/tree/TreeModel.html?is-external=true" title="class or interface in javax.swing.tree">TreeModel</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addTreeModelListener(javax.swing.event.TreeModelListener)"><!-- --></A><H3>
+addTreeModelListener</H3>
+<PRE>
+public void <B>addTreeModelListener</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/event/TreeModelListener.html?is-external=true" title="class or interface in javax.swing.event">TreeModelListener</A> l)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/tree/TreeModel.html?is-external=true#addTreeModelListener(javax.swing.event.TreeModelListener)" title="class or interface in javax.swing.tree">addTreeModelListener</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/tree/TreeModel.html?is-external=true" title="class or interface in javax.swing.tree">TreeModel</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeTreeModelListener(javax.swing.event.TreeModelListener)"><!-- --></A><H3>
+removeTreeModelListener</H3>
+<PRE>
+public void <B>removeTreeModelListener</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/event/TreeModelListener.html?is-external=true" title="class or interface in javax.swing.event">TreeModelListener</A> l)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/tree/TreeModel.html?is-external=true#removeTreeModelListener(javax.swing.event.TreeModelListener)" title="class or interface in javax.swing.tree">removeTreeModelListener</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/tree/TreeModel.html?is-external=true" title="class or interface in javax.swing.tree">TreeModel</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getChild(java.lang.Object, int)"><!-- --></A><H3>
+getChild</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getChild</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> parent,
+ int index)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/tree/TreeModel.html?is-external=true#getChild(java.lang.Object, int)" title="class or interface in javax.swing.tree">getChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/tree/TreeModel.html?is-external=true" title="class or interface in javax.swing.tree">TreeModel</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getIndexOfChild(java.lang.Object, java.lang.Object)"><!-- --></A><H3>
+getIndexOfChild</H3>
+<PRE>
+public int <B>getIndexOfChild</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> parent,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> child)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/tree/TreeModel.html?is-external=true#getIndexOfChild(java.lang.Object, java.lang.Object)" title="class or interface in javax.swing.tree">getIndexOfChild</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/tree/TreeModel.html?is-external=true" title="class or interface in javax.swing.tree">TreeModel</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="valueForPathChanged(javax.swing.tree.TreePath, java.lang.Object)"><!-- --></A><H3>
+valueForPathChanged</H3>
+<PRE>
+public void <B>valueForPathChanged</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/tree/TreePath.html?is-external=true" title="class or interface in javax.swing.tree">TreePath</A> path,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> newValue)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/tree/TreeModel.html?is-external=true#valueForPathChanged(javax.swing.tree.TreePath, java.lang.Object)" title="class or interface in javax.swing.tree">valueForPathChanged</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/tree/TreeModel.html?is-external=true" title="class or interface in javax.swing.tree">TreeModel</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ResourcesTreeModel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/gui/ResourcesPanel.html" title="class in bitronix.tm.gui"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/gui/TransactionLogDialog.html" title="class in bitronix.tm.gui"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/gui/ResourcesTreeModel.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ResourcesTreeModel.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/gui/TransactionLogDialog.html b/doc/api/bitronix/tm/gui/TransactionLogDialog.html
new file mode 100644
index 0000000..9be1895
--- /dev/null
+++ b/doc/api/bitronix/tm/gui/TransactionLogDialog.html
@@ -0,0 +1,401 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:02 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+TransactionLogDialog (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="TransactionLogDialog (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TransactionLogDialog.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/gui/ResourcesTreeModel.html" title="class in bitronix.tm.gui"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/gui/TransactionLogHeaderPanel.html" title="class in bitronix.tm.gui"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/gui/TransactionLogDialog.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionLogDialog.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: <A HREF="#nested_classes_inherited_from_class_javax.swing.JDialog">NESTED</A> | <A HREF="#fields_inherited_from_class_javax.swing.JDialog">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_javax.swing.JDialog">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.gui</FONT>
+<BR>
+Class TransactionLogDialog</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">java.awt.Component</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">java.awt.Container</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Window.html?is-external=true" title="class or interface in java.awt">java.awt.Window</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Dialog.html?is-external=true" title="class or interface in java.awt">java.awt.Dialog</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JDialog.html?is-external=true" title="class or interface in javax.swing">javax.swing.JDialog</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.gui.TransactionLogDialog</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/MenuContainer.html?is-external=true" title="class or interface in java.awt">MenuContainer</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"> [...]
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>TransactionLogDialog</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JDialog.html?is-external=true" title="class or interface in javax.swing">JDialog</A></DL>
+</PRE>
+
+<P>
+<p></p>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#bitronix.tm.gui.TransactionLogDialog">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="nested_classes_inherited_from_class_javax.swing.JDialog"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JDialog.html?is-external=true" title="class or interface in javax.swing">JDialog</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JDialog.AccessibleJDialog.html?is-external=true" title="class or interface in javax.swing">JDialog.AccessibleJDialog</A></CODE></TD>
+</TR>
+</TABLE>
+
+<A NAME="nested_classes_inherited_from_class_java.awt.Dialog"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Dialog.html?is-external=true" title="class or interface in java.awt">Dialog</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Dialog.AccessibleAWTDialog.html?is-external=true" title="class or interface in java.awt">Dialog.AccessibleAWTDialog</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Dialog.ModalExclusionType.html?is-external=true" title="class or interface in java.awt">Dialog.ModalExclusionType</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Dialog.ModalityType.html?is-external=true" title="class or interface [...]
+</TR>
+</TABLE>
+
+<A NAME="nested_classes_inherited_from_class_java.awt.Window"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Window.html?is-external=true" title="class or interface in java.awt">Window</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Window.AccessibleAWTWindow.html?is-external=true" title="class or interface in java.awt">Window.AccessibleAWTWindow</A></CODE></TD>
+</TR>
+</TABLE>
+
+<A NAME="nested_classes_inherited_from_class_java.awt.Container"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.AccessibleAWTContainer.html?is-external=true" title="class or interface in java.awt">Container.AccessibleAWTContainer</A></CODE></TD>
+</TR>
+</TABLE>
+
+<A NAME="nested_classes_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.AccessibleAWTComponent.html?is-external=true" title="class or interface in java.awt">Component.AccessibleAWTComponent</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.BaselineResizeBehavior.html?is-external=true" title="class or interface in java.awt">Component.BaselineResizeBehavior</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.BltBufferStrategy.html?is-extern [...]
+</TR>
+</TABLE>
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_javax.swing.JDialog"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JDialog.html?is-external=true" title="class or interface in javax.swing">JDialog</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JDialog.html?is-external=true#accessibleContext" title="class or interface in javax.swing">accessibleContext</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JDialog.html?is-external=true#rootPane" title="class or interface in javax.swing">rootPane</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JDialog.html?is-external=true#rootPaneCheckingEnabled" title="class or interface in javax [...]
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_java.awt.Dialog"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Dialog.html?is-external=true" title="class or interface in java.awt">Dialog</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Dialog.html?is-external=true#DEFAULT_MODALITY_TYPE" title="class or interface in java.awt">DEFAULT_MODALITY_TYPE</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true#BOTTOM_ALIGNMENT" title="class or interface in java.awt">BOTTOM_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true#CENTER_ALIGNMENT" title="class or interface in java.awt">CENTER_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true#LEFT_ALIGNMENT" title="class or interface in java.awt" [...]
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_javax.swing.WindowConstants"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/WindowConstants.html?is-external=true" title="class or interface in javax.swing">WindowConstants</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/WindowConstants.html?is-external=true#DISPOSE_ON_CLOSE" title="class or interface in javax.swing">DISPOSE_ON_CLOSE</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/WindowConstants.html?is-external=true#DO_NOTHING_ON_CLOSE" title="class or interface in javax.swing">DO_NOTHING_ON_CLOSE</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/WindowConstants.html?is-external=true#EXIT_ON_CLOSE" [...]
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_java.awt.image.ImageObserver"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface java.awt.image.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/ImageObserver.html?is-external=true#ABORT" title="class or interface in java.awt.image">ABORT</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/ImageObserver.html?is-external=true#ALLBITS" title="class or interface in java.awt.image">ALLBITS</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/ImageObserver.html?is-external=true#ERROR" title="class or interface in java.awt.image"> [...]
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/TransactionLogDialog.html#TransactionLogDialog(javax.swing.JFrame, bitronix.tm.journal.TransactionLogRecord)">TransactionLogDialog</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">JFrame</A> frame,
+ <A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A> tlog)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_javax.swing.JDialog"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JDialog.html?is-external=true" title="class or interface in javax.swing">JDialog</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JDialog.html?is-external=true#addImpl(java.awt.Component, java.lang.Object, int)" title="class or interface in javax.swing">addImpl</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JDialog.html?is-external=true#createRootPane()" title="class or interface in javax.swing">createRootPane</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JDialog.html?is-external=true#dialogInit()" title="c [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.awt.Dialog"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Dialog.html?is-external=true" title="class or interface in java.awt">Dialog</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Dialog.html?is-external=true#addNotify()" title="class or interface in java.awt">addNotify</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Dialog.html?is-external=true#getModalityType()" title="class or interface in java.awt">getModalityType</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Dialog.html?is-external=true#getTitle()" title="class or interface in java.awt">getTitle</A>, <A HREF="h [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.awt.Window"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Window.html?is-external=true" title="class or interface in java.awt">Window</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Window.html?is-external=true#addPropertyChangeListener(java.beans.PropertyChangeListener)" title="class or interface in java.awt">addPropertyChangeListener</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Window.html?is-external=true#addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)" title="class or interface in java.awt">addPropertyChangeListener</A>, <A HREF="http://java.sun.c [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, int)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, java.lang.Object)" title="class or in [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true#action(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">action</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true#add(java.awt.PopupMenu)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true#addComponentListener(java.awt.event.ComponentL [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="TransactionLogDialog(javax.swing.JFrame, bitronix.tm.journal.TransactionLogRecord)"><!-- --></A><H3>
+TransactionLogDialog</H3>
+<PRE>
+public <B>TransactionLogDialog</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">JFrame</A> frame,
+ <A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A> tlog)</PRE>
+<DL>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TransactionLogDialog.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/gui/ResourcesTreeModel.html" title="class in bitronix.tm.gui"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/gui/TransactionLogHeaderPanel.html" title="class in bitronix.tm.gui"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/gui/TransactionLogDialog.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionLogDialog.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: <A HREF="#nested_classes_inherited_from_class_javax.swing.JDialog">NESTED</A> | <A HREF="#fields_inherited_from_class_javax.swing.JDialog">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_javax.swing.JDialog">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/gui/TransactionLogHeaderPanel.html b/doc/api/bitronix/tm/gui/TransactionLogHeaderPanel.html
new file mode 100644
index 0000000..692b9fe
--- /dev/null
+++ b/doc/api/bitronix/tm/gui/TransactionLogHeaderPanel.html
@@ -0,0 +1,470 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:03 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+TransactionLogHeaderPanel (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="TransactionLogHeaderPanel (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TransactionLogHeaderPanel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/gui/TransactionLogDialog.html" title="class in bitronix.tm.gui"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/gui/TransactionTableCellRenderer.html" title="class in bitronix.tm.gui"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/gui/TransactionLogHeaderPanel.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionLogHeaderPanel.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: <A HREF="#nested_classes_inherited_from_class_javax.swing.JPanel">NESTED</A> | <A HREF="#fields_inherited_from_class_javax.swing.JComponent">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.gui</FONT>
+<BR>
+Class TransactionLogHeaderPanel</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">java.awt.Component</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">java.awt.Container</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">javax.swing.JComponent</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JPanel.html?is-external=true" title="class or interface in javax.swing">javax.swing.JPanel</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.gui.TransactionLogHeaderPanel</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/MenuContainer.html?is-external=true" title="class or interface in java.awt">MenuContainer</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"> [...]
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>TransactionLogHeaderPanel</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JPanel.html?is-external=true" title="class or interface in javax.swing">JPanel</A></DL>
+</PRE>
+
+<P>
+<p></p>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#bitronix.tm.gui.TransactionLogHeaderPanel">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="nested_classes_inherited_from_class_javax.swing.JPanel"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JPanel.html?is-external=true" title="class or interface in javax.swing">JPanel</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JPanel.AccessibleJPanel.html?is-external=true" title="class or interface in javax.swing">JPanel.AccessibleJPanel</A></CODE></TD>
+</TR>
+</TABLE>
+
+<A NAME="nested_classes_inherited_from_class_javax.swing.JComponent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">JComponent</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.AccessibleJComponent.html?is-external=true" title="class or interface in javax.swing">JComponent.AccessibleJComponent</A></CODE></TD>
+</TR>
+</TABLE>
+
+<A NAME="nested_classes_inherited_from_class_java.awt.Container"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.AccessibleAWTContainer.html?is-external=true" title="class or interface in java.awt">Container.AccessibleAWTContainer</A></CODE></TD>
+</TR>
+</TABLE>
+
+<A NAME="nested_classes_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.AccessibleAWTComponent.html?is-external=true" title="class or interface in java.awt">Component.AccessibleAWTComponent</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.BaselineResizeBehavior.html?is-external=true" title="class or interface in java.awt">Component.BaselineResizeBehavior</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.BltBufferStrategy.html?is-extern [...]
+</TR>
+</TABLE>
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_javax.swing.JComponent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">JComponent</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true#accessibleContext" title="class or interface in javax.swing">accessibleContext</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true#listenerList" title="class or interface in javax.swing">listenerList</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true#TOOL_TIP_TEXT_KEY" title="class or interfa [...]
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true#BOTTOM_ALIGNMENT" title="class or interface in java.awt">BOTTOM_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true#CENTER_ALIGNMENT" title="class or interface in java.awt">CENTER_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true#LEFT_ALIGNMENT" title="class or interface in java.awt" [...]
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_java.awt.image.ImageObserver"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface java.awt.image.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/ImageObserver.html?is-external=true#ABORT" title="class or interface in java.awt.image">ABORT</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/ImageObserver.html?is-external=true#ALLBITS" title="class or interface in java.awt.image">ALLBITS</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/ImageObserver.html?is-external=true#ERROR" title="class or interface in java.awt.image"> [...]
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/TransactionLogHeaderPanel.html#TransactionLogHeaderPanel()">TransactionLogHeaderPanel</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/TransactionLogHeaderPanel.html#read(java.io.File, boolean)">read</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A> logFile,
+ boolean active)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/TransactionLogHeaderPanel.html#setLogFile(java.io.File)">setLogFile</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A> logFile)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/TransactionLogHeaderPanel.html#setPosition(long)">setPosition</A></B>(long position)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/TransactionLogHeaderPanel.html#setState(byte)">setState</A></B>(byte state)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/TransactionLogHeaderPanel.html#setTimestamp(long)">setTimestamp</A></B>(long timestamp)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_javax.swing.JPanel"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JPanel.html?is-external=true" title="class or interface in javax.swing">JPanel</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JPanel.html?is-external=true#getAccessibleContext()" title="class or interface in javax.swing">getAccessibleContext</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JPanel.html?is-external=true#getUI()" title="class or interface in javax.swing">getUI</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JPanel.html?is-external=true#getUIClassID()" title="class or interface in javax.swing"> [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_javax.swing.JComponent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">JComponent</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true#addAncestorListener(javax.swing.event.AncestorListener)" title="class or interface in javax.swing">addAncestorListener</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true#addNotify()" title="class or interface in javax.swing">addNotify</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true#addVet [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, int)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, java.lang.Object)" title="class or in [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true#action(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">action</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true#add(java.awt.PopupMenu)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true#addComponentListener(java.awt.event.ComponentL [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="TransactionLogHeaderPanel()"><!-- --></A><H3>
+TransactionLogHeaderPanel</H3>
+<PRE>
+public <B>TransactionLogHeaderPanel</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="setLogFile(java.io.File)"><!-- --></A><H3>
+setLogFile</H3>
+<PRE>
+public void <B>setLogFile</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A> logFile)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setTimestamp(long)"><!-- --></A><H3>
+setTimestamp</H3>
+<PRE>
+public void <B>setTimestamp</B>(long timestamp)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setState(byte)"><!-- --></A><H3>
+setState</H3>
+<PRE>
+public void <B>setState</B>(byte state)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPosition(long)"><!-- --></A><H3>
+setPosition</H3>
+<PRE>
+public void <B>setPosition</B>(long position)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="read(java.io.File, boolean)"><!-- --></A><H3>
+read</H3>
+<PRE>
+public void <B>read</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A> logFile,
+ boolean active)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TransactionLogHeaderPanel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/gui/TransactionLogDialog.html" title="class in bitronix.tm.gui"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/gui/TransactionTableCellRenderer.html" title="class in bitronix.tm.gui"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/gui/TransactionLogHeaderPanel.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionLogHeaderPanel.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: <A HREF="#nested_classes_inherited_from_class_javax.swing.JPanel">NESTED</A> | <A HREF="#fields_inherited_from_class_javax.swing.JComponent">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/gui/TransactionTableCellRenderer.html b/doc/api/bitronix/tm/gui/TransactionTableCellRenderer.html
new file mode 100644
index 0000000..f367a31
--- /dev/null
+++ b/doc/api/bitronix/tm/gui/TransactionTableCellRenderer.html
@@ -0,0 +1,449 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:03 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+TransactionTableCellRenderer (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="TransactionTableCellRenderer (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TransactionTableCellRenderer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/gui/TransactionLogHeaderPanel.html" title="class in bitronix.tm.gui"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/gui/TransactionTableModel.html" title="class in bitronix.tm.gui"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/gui/TransactionTableCellRenderer.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionTableCellRenderer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: <A HREF="#nested_classes_inherited_from_class_javax.swing.table.DefaultTableCellRenderer">NESTED</A> | <A HREF="#fields_inherited_from_class_javax.swing.table.DefaultTableCellRenderer">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.gui</FONT>
+<BR>
+Class TransactionTableCellRenderer</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">java.awt.Component</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">java.awt.Container</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">javax.swing.JComponent</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing">javax.swing.JLabel</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true" title="class or interface in javax.swing.table">javax.swing.table.DefaultTableCellRenderer</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.gui.TransactionTableCellRenderer</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/MenuContainer.html?is-external=true" title="class or interface in java.awt">MenuContainer</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"> [...]
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>TransactionTableCellRenderer</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true" title="class or interface in javax.swing.table">DefaultTableCellRenderer</A></DL>
+</PRE>
+
+<P>
+<p></p>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#bitronix.tm.gui.TransactionTableCellRenderer">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="nested_classes_inherited_from_class_javax.swing.table.DefaultTableCellRenderer"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.table.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true" title="class or interface in javax.swing.table">DefaultTableCellRenderer</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/DefaultTableCellRenderer.UIResource.html?is-external=true" title="class or interface in javax.swing.table">DefaultTableCellRenderer.UIResource</A></CODE></TD>
+</TR>
+</TABLE>
+
+<A NAME="nested_classes_inherited_from_class_javax.swing.JLabel"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing">JLabel</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JLabel.AccessibleJLabel.html?is-external=true" title="class or interface in javax.swing">JLabel.AccessibleJLabel</A></CODE></TD>
+</TR>
+</TABLE>
+
+<A NAME="nested_classes_inherited_from_class_javax.swing.JComponent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">JComponent</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.AccessibleJComponent.html?is-external=true" title="class or interface in javax.swing">JComponent.AccessibleJComponent</A></CODE></TD>
+</TR>
+</TABLE>
+
+<A NAME="nested_classes_inherited_from_class_java.awt.Container"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.AccessibleAWTContainer.html?is-external=true" title="class or interface in java.awt">Container.AccessibleAWTContainer</A></CODE></TD>
+</TR>
+</TABLE>
+
+<A NAME="nested_classes_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.AccessibleAWTComponent.html?is-external=true" title="class or interface in java.awt">Component.AccessibleAWTComponent</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.BaselineResizeBehavior.html?is-external=true" title="class or interface in java.awt">Component.BaselineResizeBehavior</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.BltBufferStrategy.html?is-extern [...]
+</TR>
+</TABLE>
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_javax.swing.table.DefaultTableCellRenderer"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class javax.swing.table.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true" title="class or interface in javax.swing.table">DefaultTableCellRenderer</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true#noFocusBorder" title="class or interface in javax.swing.table">noFocusBorder</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_javax.swing.JLabel"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing">JLabel</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JLabel.html?is-external=true#labelFor" title="class or interface in javax.swing">labelFor</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_javax.swing.JComponent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">JComponent</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true#accessibleContext" title="class or interface in javax.swing">accessibleContext</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true#listenerList" title="class or interface in javax.swing">listenerList</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true#TOOL_TIP_TEXT_KEY" title="class or interfa [...]
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true#BOTTOM_ALIGNMENT" title="class or interface in java.awt">BOTTOM_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true#CENTER_ALIGNMENT" title="class or interface in java.awt">CENTER_ALIGNMENT</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true#LEFT_ALIGNMENT" title="class or interface in java.awt" [...]
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_javax.swing.SwingConstants"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/SwingConstants.html?is-external=true" title="class or interface in javax.swing">SwingConstants</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/SwingConstants.html?is-external=true#BOTTOM" title="class or interface in javax.swing">BOTTOM</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/SwingConstants.html?is-external=true#CENTER" title="class or interface in javax.swing">CENTER</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/SwingConstants.html?is-external=true#EAST" title="class or interface in javax.swing">EAST</A>, <A HRE [...]
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_java.awt.image.ImageObserver"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface java.awt.image.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/ImageObserver.html?is-external=true#ABORT" title="class or interface in java.awt.image">ABORT</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/ImageObserver.html?is-external=true#ALLBITS" title="class or interface in java.awt.image">ALLBITS</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/ImageObserver.html?is-external=true#ERROR" title="class or interface in java.awt.image"> [...]
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/TransactionTableCellRenderer.html#TransactionTableCellRenderer()">TransactionTableCellRenderer</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/TransactionTableCellRenderer.html#getTableCellRendererComponent(javax.swing.JTable, java.lang.Object, boolean, boolean, int, int)">getTableCellRendererComponent</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JTable.html?is-external=true" title="class or interface in javax.swing">JTable</A> table,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> value,
+ boolean isSelected,
+ boolean hasFocus,
+ int row,
+ int column)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_javax.swing.table.DefaultTableCellRenderer"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class javax.swing.table.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true" title="class or interface in javax.swing.table">DefaultTableCellRenderer</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true#firePropertyChange(java.lang.String, boolean, boolean)" title="class or interface in javax.swing.table">firePropertyChange</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true#firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)" title="class or interface in javax.swing.table">fire [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_javax.swing.JLabel"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing">JLabel</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JLabel.html?is-external=true#checkHorizontalKey(int, java.lang.String)" title="class or interface in javax.swing">checkHorizontalKey</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JLabel.html?is-external=true#checkVerticalKey(int, java.lang.String)" title="class or interface in javax.swing">checkVerticalKey</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JLabel.html?is-external=tru [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_javax.swing.JComponent"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing">JComponent</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true#addAncestorListener(javax.swing.event.AncestorListener)" title="class or interface in javax.swing">addAncestorListener</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true#addNotify()" title="class or interface in javax.swing">addNotify</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true#addVet [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.awt.Container"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt">Container</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, int)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true#add(java.awt.Component, java.lang.Object)" title="class or in [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.awt.Component"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true#action(java.awt.Event, java.lang.Object)" title="class or interface in java.awt">action</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true#add(java.awt.PopupMenu)" title="class or interface in java.awt">add</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true#addComponentListener(java.awt.event.ComponentL [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="TransactionTableCellRenderer()"><!-- --></A><H3>
+TransactionTableCellRenderer</H3>
+<PRE>
+public <B>TransactionTableCellRenderer</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getTableCellRendererComponent(javax.swing.JTable, java.lang.Object, boolean, boolean, int, int)"><!-- --></A><H3>
+getTableCellRendererComponent</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt">Component</A> <B>getTableCellRendererComponent</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JTable.html?is-external=true" title="class or interface in javax.swing">JTable</A> table,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> value,
+ boolean isSelected,
+ boolean hasFocus,
+ int row,
+ int column)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/TableCellRenderer.html?is-external=true#getTableCellRendererComponent(javax.swing.JTable, java.lang.Object, boolean, boolean, int, int)" title="class or interface in javax.swing.table">getTableCellRendererComponent</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/TableCellRenderer.html?is-external=true" title="class or interface in javax.swi [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TransactionTableCellRenderer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/gui/TransactionLogHeaderPanel.html" title="class in bitronix.tm.gui"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/gui/TransactionTableModel.html" title="class in bitronix.tm.gui"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/gui/TransactionTableCellRenderer.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionTableCellRenderer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: <A HREF="#nested_classes_inherited_from_class_javax.swing.table.DefaultTableCellRenderer">NESTED</A> | <A HREF="#fields_inherited_from_class_javax.swing.table.DefaultTableCellRenderer">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/gui/TransactionTableModel.html b/doc/api/bitronix/tm/gui/TransactionTableModel.html
new file mode 100644
index 0000000..0ea6405
--- /dev/null
+++ b/doc/api/bitronix/tm/gui/TransactionTableModel.html
@@ -0,0 +1,362 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:03 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+TransactionTableModel (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="TransactionTableModel (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TransactionTableModel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/gui/TransactionTableCellRenderer.html" title="class in bitronix.tm.gui"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/gui/TransactionTableMouseListener.html" title="class in bitronix.tm.gui"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/gui/TransactionTableModel.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionTableModel.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.gui</FONT>
+<BR>
+Class TransactionTableModel</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.gui.TransactionTableModel</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/TableModel.html?is-external=true" title="class or interface in javax.swing.table">TableModel</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../bitronix/tm/gui/PendingTransactionTableModel.html" title="class in bitronix.tm.gui">PendingTransactionTableModel</A>, <A HREF="../../../bitronix/tm/gui/RawTransactionTableModel.html" title="class in bitronix.tm.gui">RawTransactionTableModel</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public abstract class <B>TransactionTableModel</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/TableModel.html?is-external=true" title="class or interface in javax.swing.table">TableModel</A></DL>
+</PRE>
+
+<P>
+<p></p>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/TransactionTableModel.html#tLogs">tLogs</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/TransactionTableModel.html#TransactionTableModel()">TransactionTableModel</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/TransactionTableModel.html#acceptLog(bitronix.tm.journal.TransactionLogRecord)">acceptLog</A></B>(<A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A> tlog)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract <A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/TransactionTableModel.html#getRow(int)">getRow</A></B>(int row)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/TransactionTableModel.html#readFullTransactionLog(java.io.File)">readFullTransactionLog</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A> filename)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_javax.swing.table.TableModel"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from interface javax.swing.table.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/TableModel.html?is-external=true" title="class or interface in javax.swing.table">TableModel</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/TableModel.html?is-external=true#addTableModelListener(javax.swing.event.TableModelListener)" title="class or interface in javax.swing.table">addTableModelListener</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/TableModel.html?is-external=true#getColumnClass(int)" title="class or interface in javax.swing.table">getColumnClass</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sw [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="tLogs"><!-- --></A><H3>
+tLogs</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>tLogs</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="TransactionTableModel()"><!-- --></A><H3>
+TransactionTableModel</H3>
+<PRE>
+public <B>TransactionTableModel</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="readFullTransactionLog(java.io.File)"><!-- --></A><H3>
+readFullTransactionLog</H3>
+<PRE>
+protected void <B>readFullTransactionLog</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A> filename)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="acceptLog(bitronix.tm.journal.TransactionLogRecord)"><!-- --></A><H3>
+acceptLog</H3>
+<PRE>
+public abstract boolean <B>acceptLog</B>(<A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A> tlog)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRow(int)"><!-- --></A><H3>
+getRow</H3>
+<PRE>
+public abstract <A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A> <B>getRow</B>(int row)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TransactionTableModel.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/gui/TransactionTableCellRenderer.html" title="class in bitronix.tm.gui"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/gui/TransactionTableMouseListener.html" title="class in bitronix.tm.gui"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/gui/TransactionTableModel.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionTableModel.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/gui/TransactionTableMouseListener.html b/doc/api/bitronix/tm/gui/TransactionTableMouseListener.html
new file mode 100644
index 0000000..b063fd9
--- /dev/null
+++ b/doc/api/bitronix/tm/gui/TransactionTableMouseListener.html
@@ -0,0 +1,279 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:03 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+TransactionTableMouseListener (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="TransactionTableMouseListener (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TransactionTableMouseListener.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/gui/TransactionTableModel.html" title="class in bitronix.tm.gui"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/gui/TransactionTableMouseListener.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionTableMouseListener.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.gui</FONT>
+<BR>
+Class TransactionTableMouseListener</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/MouseAdapter.html?is-external=true" title="class or interface in java.awt.event">java.awt.event.MouseAdapter</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.gui.TransactionTableMouseListener</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/MouseListener.html?is-external=true" title="class or interface in java.awt.event">MouseListener</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/MouseMotionListener.html?is-external=true" title="class or interface in java.awt.event">MouseMotionListener</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/MouseWheelListener.html?is-external=true" t [...]
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>TransactionTableMouseListener</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/MouseAdapter.html?is-external=true" title="class or interface in java.awt.event">MouseAdapter</A></DL>
+</PRE>
+
+<P>
+<p></p>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/TransactionTableMouseListener.html#TransactionTableMouseListener(javax.swing.JFrame, javax.swing.JTable)">TransactionTableMouseListener</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">JFrame</A> frame,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JTable.html?is-external=true" title="class or interface in javax.swing">JTable</A> table)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/gui/TransactionTableMouseListener.html#mouseClicked(java.awt.event.MouseEvent)">mouseClicked</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/MouseEvent.html?is-external=true" title="class or interface in java.awt.event">MouseEvent</A> evt)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.awt.event.MouseAdapter"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.awt.event.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/MouseAdapter.html?is-external=true" title="class or interface in java.awt.event">MouseAdapter</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/MouseAdapter.html?is-external=true#mouseDragged(java.awt.event.MouseEvent)" title="class or interface in java.awt.event">mouseDragged</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/MouseAdapter.html?is-external=true#mouseEntered(java.awt.event.MouseEvent)" title="class or interface in java.awt.event">mouseEntered</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/MouseAdapter [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="TransactionTableMouseListener(javax.swing.JFrame, javax.swing.JTable)"><!-- --></A><H3>
+TransactionTableMouseListener</H3>
+<PRE>
+public <B>TransactionTableMouseListener</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">JFrame</A> frame,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JTable.html?is-external=true" title="class or interface in javax.swing">JTable</A> table)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="mouseClicked(java.awt.event.MouseEvent)"><!-- --></A><H3>
+mouseClicked</H3>
+<PRE>
+public void <B>mouseClicked</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/MouseEvent.html?is-external=true" title="class or interface in java.awt.event">MouseEvent</A> evt)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/MouseListener.html?is-external=true#mouseClicked(java.awt.event.MouseEvent)" title="class or interface in java.awt.event">mouseClicked</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/MouseListener.html?is-external=true" title="class or interface in java.awt.event">MouseListener</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TransactionTableMouseListener.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/gui/TransactionTableModel.html" title="class in bitronix.tm.gui"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/gui/TransactionTableMouseListener.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionTableMouseListener.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/gui/class-use/Console.html b/doc/api/bitronix/tm/gui/class-use/Console.html
new file mode 100644
index 0000000..acbd26f
--- /dev/null
+++ b/doc/api/bitronix/tm/gui/class-use/Console.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.gui.Console (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.gui.Console (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/gui/Console.html" title="class in bitronix.tm.gui"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/gui//class-useConsole.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Console.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.gui.Console</B></H2>
+</CENTER>
+No usage of bitronix.tm.gui.Console
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/gui/Console.html" title="class in bitronix.tm.gui"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/gui//class-useConsole.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Console.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/gui/class-use/DuplicatedGtridTableModel.html b/doc/api/bitronix/tm/gui/class-use/DuplicatedGtridTableModel.html
new file mode 100644
index 0000000..beb7b02
--- /dev/null
+++ b/doc/api/bitronix/tm/gui/class-use/DuplicatedGtridTableModel.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.gui.DuplicatedGtridTableModel (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.gui.DuplicatedGtridTableModel (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/gui/DuplicatedGtridTableModel.html" title="class in bitronix.tm.gui"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/gui//class-useDuplicatedGtridTableModel.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="DuplicatedGtridTableModel.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.gui.DuplicatedGtridTableModel</B></H2>
+</CENTER>
+No usage of bitronix.tm.gui.DuplicatedGtridTableModel
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/gui/DuplicatedGtridTableModel.html" title="class in bitronix.tm.gui"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/gui//class-useDuplicatedGtridTableModel.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="DuplicatedGtridTableModel.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/gui/class-use/PendingTransactionTableModel.html b/doc/api/bitronix/tm/gui/class-use/PendingTransactionTableModel.html
new file mode 100644
index 0000000..c9c3851
--- /dev/null
+++ b/doc/api/bitronix/tm/gui/class-use/PendingTransactionTableModel.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.gui.PendingTransactionTableModel (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.gui.PendingTransactionTableModel (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/gui/PendingTransactionTableModel.html" title="class in bitronix.tm.gui"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/gui//class-usePendingTransactionTableModel.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PendingTransactionTableModel.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.gui.PendingTransactionTableModel</B></H2>
+</CENTER>
+No usage of bitronix.tm.gui.PendingTransactionTableModel
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/gui/PendingTransactionTableModel.html" title="class in bitronix.tm.gui"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/gui//class-usePendingTransactionTableModel.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PendingTransactionTableModel.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/gui/class-use/RawTransactionTableModel.html b/doc/api/bitronix/tm/gui/class-use/RawTransactionTableModel.html
new file mode 100644
index 0000000..67425af
--- /dev/null
+++ b/doc/api/bitronix/tm/gui/class-use/RawTransactionTableModel.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.gui.RawTransactionTableModel (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.gui.RawTransactionTableModel (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/gui/RawTransactionTableModel.html" title="class in bitronix.tm.gui"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/gui//class-useRawTransactionTableModel.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="RawTransactionTableModel.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.gui.RawTransactionTableModel</B></H2>
+</CENTER>
+No usage of bitronix.tm.gui.RawTransactionTableModel
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/gui/RawTransactionTableModel.html" title="class in bitronix.tm.gui"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/gui//class-useRawTransactionTableModel.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="RawTransactionTableModel.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/gui/class-use/ResourcesPanel.html b/doc/api/bitronix/tm/gui/class-use/ResourcesPanel.html
new file mode 100644
index 0000000..c915e15
--- /dev/null
+++ b/doc/api/bitronix/tm/gui/class-use/ResourcesPanel.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.gui.ResourcesPanel (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.gui.ResourcesPanel (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/gui/ResourcesPanel.html" title="class in bitronix.tm.gui"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/gui//class-useResourcesPanel.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ResourcesPanel.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.gui.ResourcesPanel</B></H2>
+</CENTER>
+No usage of bitronix.tm.gui.ResourcesPanel
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/gui/ResourcesPanel.html" title="class in bitronix.tm.gui"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/gui//class-useResourcesPanel.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ResourcesPanel.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/gui/class-use/ResourcesTreeModel.html b/doc/api/bitronix/tm/gui/class-use/ResourcesTreeModel.html
new file mode 100644
index 0000000..92e8920
--- /dev/null
+++ b/doc/api/bitronix/tm/gui/class-use/ResourcesTreeModel.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.gui.ResourcesTreeModel (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.gui.ResourcesTreeModel (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/gui/ResourcesTreeModel.html" title="class in bitronix.tm.gui"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/gui//class-useResourcesTreeModel.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ResourcesTreeModel.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.gui.ResourcesTreeModel</B></H2>
+</CENTER>
+No usage of bitronix.tm.gui.ResourcesTreeModel
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/gui/ResourcesTreeModel.html" title="class in bitronix.tm.gui"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/gui//class-useResourcesTreeModel.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ResourcesTreeModel.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/gui/class-use/TransactionLogDialog.html b/doc/api/bitronix/tm/gui/class-use/TransactionLogDialog.html
new file mode 100644
index 0000000..3c829c2
--- /dev/null
+++ b/doc/api/bitronix/tm/gui/class-use/TransactionLogDialog.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.gui.TransactionLogDialog (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.gui.TransactionLogDialog (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/gui/TransactionLogDialog.html" title="class in bitronix.tm.gui"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/gui//class-useTransactionLogDialog.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionLogDialog.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.gui.TransactionLogDialog</B></H2>
+</CENTER>
+No usage of bitronix.tm.gui.TransactionLogDialog
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/gui/TransactionLogDialog.html" title="class in bitronix.tm.gui"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/gui//class-useTransactionLogDialog.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionLogDialog.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/gui/class-use/TransactionLogHeaderPanel.html b/doc/api/bitronix/tm/gui/class-use/TransactionLogHeaderPanel.html
new file mode 100644
index 0000000..261f2e6
--- /dev/null
+++ b/doc/api/bitronix/tm/gui/class-use/TransactionLogHeaderPanel.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.gui.TransactionLogHeaderPanel (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.gui.TransactionLogHeaderPanel (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/gui/TransactionLogHeaderPanel.html" title="class in bitronix.tm.gui"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/gui//class-useTransactionLogHeaderPanel.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionLogHeaderPanel.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.gui.TransactionLogHeaderPanel</B></H2>
+</CENTER>
+No usage of bitronix.tm.gui.TransactionLogHeaderPanel
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/gui/TransactionLogHeaderPanel.html" title="class in bitronix.tm.gui"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/gui//class-useTransactionLogHeaderPanel.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionLogHeaderPanel.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/gui/class-use/TransactionTableCellRenderer.html b/doc/api/bitronix/tm/gui/class-use/TransactionTableCellRenderer.html
new file mode 100644
index 0000000..94e78e5
--- /dev/null
+++ b/doc/api/bitronix/tm/gui/class-use/TransactionTableCellRenderer.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.gui.TransactionTableCellRenderer (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.gui.TransactionTableCellRenderer (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/gui/TransactionTableCellRenderer.html" title="class in bitronix.tm.gui"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/gui//class-useTransactionTableCellRenderer.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionTableCellRenderer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.gui.TransactionTableCellRenderer</B></H2>
+</CENTER>
+No usage of bitronix.tm.gui.TransactionTableCellRenderer
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/gui/TransactionTableCellRenderer.html" title="class in bitronix.tm.gui"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/gui//class-useTransactionTableCellRenderer.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionTableCellRenderer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/gui/class-use/TransactionTableModel.html b/doc/api/bitronix/tm/gui/class-use/TransactionTableModel.html
new file mode 100644
index 0000000..c40e83d
--- /dev/null
+++ b/doc/api/bitronix/tm/gui/class-use/TransactionTableModel.html
@@ -0,0 +1,190 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.gui.TransactionTableModel (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.gui.TransactionTableModel (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/gui/TransactionTableModel.html" title="class in bitronix.tm.gui"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/gui//class-useTransactionTableModel.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionTableModel.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.gui.TransactionTableModel</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../bitronix/tm/gui/TransactionTableModel.html" title="class in bitronix.tm.gui">TransactionTableModel</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.gui"><B>bitronix.tm.gui</B></A></TD>
+<TD>
+ GUI admin console. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.gui"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/gui/TransactionTableModel.html" title="class in bitronix.tm.gui">TransactionTableModel</A> in <A HREF="../../../../bitronix/tm/gui/package-summary.html">bitronix.tm.gui</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../bitronix/tm/gui/TransactionTableModel.html" title="class in bitronix.tm.gui">TransactionTableModel</A> in <A HREF="../../../../bitronix/tm/gui/package-summary.html">bitronix.tm.gui</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/gui/PendingTransactionTableModel.html" title="class in bitronix.tm.gui">PendingTransactionTableModel</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/gui/RawTransactionTableModel.html" title="class in bitronix.tm.gui">RawTransactionTableModel</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/gui/TransactionTableModel.html" title="class in bitronix.tm.gui"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/gui//class-useTransactionTableModel.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionTableModel.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/gui/class-use/TransactionTableMouseListener.html b/doc/api/bitronix/tm/gui/class-use/TransactionTableMouseListener.html
new file mode 100644
index 0000000..9986dc2
--- /dev/null
+++ b/doc/api/bitronix/tm/gui/class-use/TransactionTableMouseListener.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.gui.TransactionTableMouseListener (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.gui.TransactionTableMouseListener (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/gui/TransactionTableMouseListener.html" title="class in bitronix.tm.gui"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/gui//class-useTransactionTableMouseListener.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionTableMouseListener.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.gui.TransactionTableMouseListener</B></H2>
+</CENTER>
+No usage of bitronix.tm.gui.TransactionTableMouseListener
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/gui/TransactionTableMouseListener.html" title="class in bitronix.tm.gui"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/gui//class-useTransactionTableMouseListener.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionTableMouseListener.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/gui/package-frame.html b/doc/api/bitronix/tm/gui/package-frame.html
new file mode 100644
index 0000000..7944a7f
--- /dev/null
+++ b/doc/api/bitronix/tm/gui/package-frame.html
@@ -0,0 +1,53 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.gui (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../bitronix/tm/gui/package-summary.html" target="classFrame">bitronix.tm.gui</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="Console.html" title="class in bitronix.tm.gui" target="classFrame">Console</A>
+<BR>
+<A HREF="DuplicatedGtridTableModel.html" title="class in bitronix.tm.gui" target="classFrame">DuplicatedGtridTableModel</A>
+<BR>
+<A HREF="PendingTransactionTableModel.html" title="class in bitronix.tm.gui" target="classFrame">PendingTransactionTableModel</A>
+<BR>
+<A HREF="RawTransactionTableModel.html" title="class in bitronix.tm.gui" target="classFrame">RawTransactionTableModel</A>
+<BR>
+<A HREF="ResourcesPanel.html" title="class in bitronix.tm.gui" target="classFrame">ResourcesPanel</A>
+<BR>
+<A HREF="ResourcesTreeModel.html" title="class in bitronix.tm.gui" target="classFrame">ResourcesTreeModel</A>
+<BR>
+<A HREF="TransactionLogDialog.html" title="class in bitronix.tm.gui" target="classFrame">TransactionLogDialog</A>
+<BR>
+<A HREF="TransactionLogHeaderPanel.html" title="class in bitronix.tm.gui" target="classFrame">TransactionLogHeaderPanel</A>
+<BR>
+<A HREF="TransactionTableCellRenderer.html" title="class in bitronix.tm.gui" target="classFrame">TransactionTableCellRenderer</A>
+<BR>
+<A HREF="TransactionTableModel.html" title="class in bitronix.tm.gui" target="classFrame">TransactionTableModel</A>
+<BR>
+<A HREF="TransactionTableMouseListener.html" title="class in bitronix.tm.gui" target="classFrame">TransactionTableMouseListener</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/gui/package-summary.html b/doc/api/bitronix/tm/gui/package-summary.html
new file mode 100644
index 0000000..a9e2ef9
--- /dev/null
+++ b/doc/api/bitronix/tm/gui/package-summary.html
@@ -0,0 +1,216 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.gui (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.gui (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/package-summary.html"><B>PREV PACKAGE</B></A>
+ <A HREF="../../../bitronix/tm/internal/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/gui/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package bitronix.tm.gui
+</H2>
+
+ GUI admin console.
+<P>
+<B>See:</B>
+<BR>
+ <A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/gui/Console.html" title="class in bitronix.tm.gui">Console</A></B></TD>
+<TD></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/gui/DuplicatedGtridTableModel.html" title="class in bitronix.tm.gui">DuplicatedGtridTableModel</A></B></TD>
+<TD></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/gui/PendingTransactionTableModel.html" title="class in bitronix.tm.gui">PendingTransactionTableModel</A></B></TD>
+<TD></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/gui/RawTransactionTableModel.html" title="class in bitronix.tm.gui">RawTransactionTableModel</A></B></TD>
+<TD></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/gui/ResourcesPanel.html" title="class in bitronix.tm.gui">ResourcesPanel</A></B></TD>
+<TD> </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/gui/ResourcesTreeModel.html" title="class in bitronix.tm.gui">ResourcesTreeModel</A></B></TD>
+<TD> </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/gui/TransactionLogDialog.html" title="class in bitronix.tm.gui">TransactionLogDialog</A></B></TD>
+<TD></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/gui/TransactionLogHeaderPanel.html" title="class in bitronix.tm.gui">TransactionLogHeaderPanel</A></B></TD>
+<TD></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/gui/TransactionTableCellRenderer.html" title="class in bitronix.tm.gui">TransactionTableCellRenderer</A></B></TD>
+<TD></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/gui/TransactionTableModel.html" title="class in bitronix.tm.gui">TransactionTableModel</A></B></TD>
+<TD></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/gui/TransactionTableMouseListener.html" title="class in bitronix.tm.gui">TransactionTableMouseListener</A></B></TD>
+<TD></TD>
+</TR>
+</TABLE>
+
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package bitronix.tm.gui Description
+</H2>
+
+<P>
+<p>
+ GUI admin console.
+ </p>
+<P>
+
+<P>
+<DL>
+</DL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/package-summary.html"><B>PREV PACKAGE</B></A>
+ <A HREF="../../../bitronix/tm/internal/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/gui/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/gui/package-tree.html b/doc/api/bitronix/tm/gui/package-tree.html
new file mode 100644
index 0000000..adeebf3
--- /dev/null
+++ b/doc/api/bitronix/tm/gui/package-tree.html
@@ -0,0 +1,198 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.gui Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.gui Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/package-tree.html"><B>PREV</B></A>
+ <A HREF="../../../bitronix/tm/internal/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/gui/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package bitronix.tm.gui
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">javax.swing.table.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true" title="class or interface in javax.swing.table"><B>AbstractTableModel</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, javax.swing.table.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/TableModel.html [...]
+<UL>
+<LI TYPE="circle">javax.swing.table.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true" title="class or interface in javax.swing.table"><B>DefaultTableModel</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>)
+<UL>
+<LI TYPE="circle">bitronix.tm.gui.<A HREF="../../../bitronix/tm/gui/DuplicatedGtridTableModel.html" title="class in bitronix.tm.gui"><B>DuplicatedGtridTableModel</B></A></UL>
+</UL>
+<LI TYPE="circle">java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt"><B>Component</B></A> (implements java.awt.image.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/image/ImageObserver.html?is-external=true" title="class or interface in java.awt.image">ImageObserver</A>, java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/MenuContainer.html?is-external=true" title="class or in [...]
+<UL>
+<LI TYPE="circle">java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt"><B>Container</B></A><UL>
+<LI TYPE="circle">javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing"><B>JComponent</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>)
+<UL>
+<LI TYPE="circle">javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing"><B>JLabel</B></A> (implements javax.accessibility.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>, javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/SwingConstants.html?is-external=true" [...]
+<UL>
+<LI TYPE="circle">javax.swing.table.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true" title="class or interface in javax.swing.table"><B>DefaultTableCellRenderer</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, javax.swing.table.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/Tab [...]
+<UL>
+<LI TYPE="circle">bitronix.tm.gui.<A HREF="../../../bitronix/tm/gui/TransactionTableCellRenderer.html" title="class in bitronix.tm.gui"><B>TransactionTableCellRenderer</B></A></UL>
+</UL>
+<LI TYPE="circle">javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JPanel.html?is-external=true" title="class or interface in javax.swing"><B>JPanel</B></A> (implements javax.accessibility.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>)
+<UL>
+<LI TYPE="circle">bitronix.tm.gui.<A HREF="../../../bitronix/tm/gui/ResourcesPanel.html" title="class in bitronix.tm.gui"><B>ResourcesPanel</B></A><LI TYPE="circle">bitronix.tm.gui.<A HREF="../../../bitronix/tm/gui/TransactionLogHeaderPanel.html" title="class in bitronix.tm.gui"><B>TransactionLogHeaderPanel</B></A></UL>
+</UL>
+<LI TYPE="circle">java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Window.html?is-external=true" title="class or interface in java.awt"><B>Window</B></A> (implements javax.accessibility.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>)
+<UL>
+<LI TYPE="circle">java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Dialog.html?is-external=true" title="class or interface in java.awt"><B>Dialog</B></A><UL>
+<LI TYPE="circle">javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JDialog.html?is-external=true" title="class or interface in javax.swing"><B>JDialog</B></A> (implements javax.accessibility.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>, javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/RootPaneContainer.html?is-external= [...]
+<UL>
+<LI TYPE="circle">bitronix.tm.gui.<A HREF="../../../bitronix/tm/gui/TransactionLogDialog.html" title="class in bitronix.tm.gui"><B>TransactionLogDialog</B></A></UL>
+</UL>
+<LI TYPE="circle">java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Frame.html?is-external=true" title="class or interface in java.awt"><B>Frame</B></A> (implements java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/MenuContainer.html?is-external=true" title="class or interface in java.awt">MenuContainer</A>)
+<UL>
+<LI TYPE="circle">javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing"><B>JFrame</B></A> (implements javax.accessibility.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>, javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/RootPaneContainer.html?is-external=tr [...]
+<UL>
+<LI TYPE="circle">bitronix.tm.gui.<A HREF="../../../bitronix/tm/gui/Console.html" title="class in bitronix.tm.gui"><B>Console</B></A></UL>
+</UL>
+</UL>
+</UL>
+</UL>
+<LI TYPE="circle">java.awt.event.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/MouseAdapter.html?is-external=true" title="class or interface in java.awt.event"><B>MouseAdapter</B></A> (implements java.awt.event.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/MouseListener.html?is-external=true" title="class or interface in java.awt.event">MouseListener</A>, java.awt.event.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/MouseMotionListener [...]
+<UL>
+<LI TYPE="circle">bitronix.tm.gui.<A HREF="../../../bitronix/tm/gui/TransactionTableMouseListener.html" title="class in bitronix.tm.gui"><B>TransactionTableMouseListener</B></A></UL>
+<LI TYPE="circle">bitronix.tm.gui.<A HREF="../../../bitronix/tm/gui/ResourcesTreeModel.html" title="class in bitronix.tm.gui"><B>ResourcesTreeModel</B></A> (implements javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/tree/TreeModel.html?is-external=true" title="class or interface in javax.swing.tree">TreeModel</A>)
+<LI TYPE="circle">bitronix.tm.gui.<A HREF="../../../bitronix/tm/gui/TransactionTableModel.html" title="class in bitronix.tm.gui"><B>TransactionTableModel</B></A> (implements javax.swing.table.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/TableModel.html?is-external=true" title="class or interface in javax.swing.table">TableModel</A>)
+<UL>
+<LI TYPE="circle">bitronix.tm.gui.<A HREF="../../../bitronix/tm/gui/PendingTransactionTableModel.html" title="class in bitronix.tm.gui"><B>PendingTransactionTableModel</B></A><LI TYPE="circle">bitronix.tm.gui.<A HREF="../../../bitronix/tm/gui/RawTransactionTableModel.html" title="class in bitronix.tm.gui"><B>RawTransactionTableModel</B></A></UL>
+</UL>
+</UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/package-tree.html"><B>PREV</B></A>
+ <A HREF="../../../bitronix/tm/internal/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/gui/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/gui/package-use.html b/doc/api/bitronix/tm/gui/package-use.html
new file mode 100644
index 0000000..a3a4f0f
--- /dev/null
+++ b/doc/api/bitronix/tm/gui/package-use.html
@@ -0,0 +1,172 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Package bitronix.tm.gui (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Package bitronix.tm.gui (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/gui/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>bitronix.tm.gui</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../bitronix/tm/gui/package-summary.html">bitronix.tm.gui</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.gui"><B>bitronix.tm.gui</B></A></TD>
+<TD>
+ GUI admin console. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.gui"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/gui/package-summary.html">bitronix.tm.gui</A> used by <A HREF="../../../bitronix/tm/gui/package-summary.html">bitronix.tm.gui</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/gui/class-use/TransactionTableModel.html#bitronix.tm.gui"><B>TransactionTableModel</B></A></B>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/gui/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/BitronixHeuristicCommitException.html b/doc/api/bitronix/tm/internal/BitronixHeuristicCommitException.html
new file mode 100644
index 0000000..1a73b48
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/BitronixHeuristicCommitException.html
@@ -0,0 +1,264 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:03 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+BitronixHeuristicCommitException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="BitronixHeuristicCommitException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixHeuristicCommitException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../bitronix/tm/internal/BitronixHeuristicMixedException.html" title="class in bitronix.tm.internal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/BitronixHeuristicCommitException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixHeuristicCommitException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.internal</FONT>
+<BR>
+Class BitronixHeuristicCommitException</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">java.lang.Throwable</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">java.lang.Exception</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicCommitException.html?is-external=true" title="class or interface in javax.transaction">javax.transaction.HeuristicCommitException</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.internal.BitronixHeuristicCommitException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>BitronixHeuristicCommitException</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicCommitException.html?is-external=true" title="class or interface in javax.transaction">HeuristicCommitException</A></DL>
+</PRE>
+
+<P>
+Subclass of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicCommitException.html?is-external=true" title="class or interface in javax.transaction"><CODE>HeuristicCommitException</CODE></A> supporting nested <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A>s.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#bitronix.tm.internal.BitronixHeuristicCommitException">Serialized Form</A></DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/BitronixHeuristicCommitException.html#BitronixHeuristicCommitException(java.lang.String)">BitronixHeuristicCommitException</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> string)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/BitronixHeuristicCommitException.html#BitronixHeuristicCommitException(java.lang.String, java.lang.Throwable)">BitronixHeuristicCommitException</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> string,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> t)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#fillInStackTrace()" title="class or interface in java.lang">fillInStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getCause()" title="class or interface in java.lang">getCause</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getLocalizedMessage()" title="class or interface in java.lang [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="BitronixHeuristicCommitException(java.lang.String)"><!-- --></A><H3>
+BitronixHeuristicCommitException</H3>
+<PRE>
+public <B>BitronixHeuristicCommitException</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> string)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="BitronixHeuristicCommitException(java.lang.String, java.lang.Throwable)"><!-- --></A><H3>
+BitronixHeuristicCommitException</H3>
+<PRE>
+public <B>BitronixHeuristicCommitException</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> string,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> t)</PRE>
+<DL>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixHeuristicCommitException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../bitronix/tm/internal/BitronixHeuristicMixedException.html" title="class in bitronix.tm.internal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/BitronixHeuristicCommitException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixHeuristicCommitException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/BitronixHeuristicMixedException.html b/doc/api/bitronix/tm/internal/BitronixHeuristicMixedException.html
new file mode 100644
index 0000000..3aa4e81
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/BitronixHeuristicMixedException.html
@@ -0,0 +1,264 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:03 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+BitronixHeuristicMixedException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="BitronixHeuristicMixedException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixHeuristicMixedException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/internal/BitronixHeuristicCommitException.html" title="class in bitronix.tm.internal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/internal/BitronixHeuristicRollbackException.html" title="class in bitronix.tm.internal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/BitronixHeuristicMixedException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixHeuristicMixedException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.internal</FONT>
+<BR>
+Class BitronixHeuristicMixedException</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">java.lang.Throwable</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">java.lang.Exception</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicMixedException.html?is-external=true" title="class or interface in javax.transaction">javax.transaction.HeuristicMixedException</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.internal.BitronixHeuristicMixedException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>BitronixHeuristicMixedException</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicMixedException.html?is-external=true" title="class or interface in javax.transaction">HeuristicMixedException</A></DL>
+</PRE>
+
+<P>
+Subclass of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicMixedException.html?is-external=true" title="class or interface in javax.transaction"><CODE>HeuristicMixedException</CODE></A> supporting nested <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A>s.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#bitronix.tm.internal.BitronixHeuristicMixedException">Serialized Form</A></DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/BitronixHeuristicMixedException.html#BitronixHeuristicMixedException(java.lang.String)">BitronixHeuristicMixedException</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> string)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/BitronixHeuristicMixedException.html#BitronixHeuristicMixedException(java.lang.String, java.lang.Throwable)">BitronixHeuristicMixedException</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> string,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> t)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#fillInStackTrace()" title="class or interface in java.lang">fillInStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getCause()" title="class or interface in java.lang">getCause</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getLocalizedMessage()" title="class or interface in java.lang [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="BitronixHeuristicMixedException(java.lang.String)"><!-- --></A><H3>
+BitronixHeuristicMixedException</H3>
+<PRE>
+public <B>BitronixHeuristicMixedException</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> string)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="BitronixHeuristicMixedException(java.lang.String, java.lang.Throwable)"><!-- --></A><H3>
+BitronixHeuristicMixedException</H3>
+<PRE>
+public <B>BitronixHeuristicMixedException</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> string,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> t)</PRE>
+<DL>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixHeuristicMixedException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/internal/BitronixHeuristicCommitException.html" title="class in bitronix.tm.internal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/internal/BitronixHeuristicRollbackException.html" title="class in bitronix.tm.internal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/BitronixHeuristicMixedException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixHeuristicMixedException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/BitronixHeuristicRollbackException.html b/doc/api/bitronix/tm/internal/BitronixHeuristicRollbackException.html
new file mode 100644
index 0000000..ddc5955
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/BitronixHeuristicRollbackException.html
@@ -0,0 +1,264 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:03 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+BitronixHeuristicRollbackException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="BitronixHeuristicRollbackException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixHeuristicRollbackException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/internal/BitronixHeuristicMixedException.html" title="class in bitronix.tm.internal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/internal/BitronixMultiSystemException.html" title="class in bitronix.tm.internal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/BitronixHeuristicRollbackException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixHeuristicRollbackException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.internal</FONT>
+<BR>
+Class BitronixHeuristicRollbackException</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">java.lang.Throwable</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">java.lang.Exception</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicRollbackException.html?is-external=true" title="class or interface in javax.transaction">javax.transaction.HeuristicRollbackException</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.internal.BitronixHeuristicRollbackException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>BitronixHeuristicRollbackException</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicRollbackException.html?is-external=true" title="class or interface in javax.transaction">HeuristicRollbackException</A></DL>
+</PRE>
+
+<P>
+Subclass of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicRollbackException.html?is-external=true" title="class or interface in javax.transaction"><CODE>HeuristicRollbackException</CODE></A> supporting nested <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A>s.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#bitronix.tm.internal.BitronixHeuristicRollbackException">Serialized Form</A></DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/BitronixHeuristicRollbackException.html#BitronixHeuristicRollbackException(java.lang.String)">BitronixHeuristicRollbackException</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> string)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/BitronixHeuristicRollbackException.html#BitronixHeuristicRollbackException(java.lang.String, java.lang.Throwable)">BitronixHeuristicRollbackException</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> string,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> t)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#fillInStackTrace()" title="class or interface in java.lang">fillInStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getCause()" title="class or interface in java.lang">getCause</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getLocalizedMessage()" title="class or interface in java.lang [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="BitronixHeuristicRollbackException(java.lang.String)"><!-- --></A><H3>
+BitronixHeuristicRollbackException</H3>
+<PRE>
+public <B>BitronixHeuristicRollbackException</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> string)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="BitronixHeuristicRollbackException(java.lang.String, java.lang.Throwable)"><!-- --></A><H3>
+BitronixHeuristicRollbackException</H3>
+<PRE>
+public <B>BitronixHeuristicRollbackException</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> string,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> t)</PRE>
+<DL>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixHeuristicRollbackException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/internal/BitronixHeuristicMixedException.html" title="class in bitronix.tm.internal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/internal/BitronixMultiSystemException.html" title="class in bitronix.tm.internal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/BitronixHeuristicRollbackException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixHeuristicRollbackException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/BitronixMultiSystemException.html b/doc/api/bitronix/tm/internal/BitronixMultiSystemException.html
new file mode 100644
index 0000000..c1a6121
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/BitronixMultiSystemException.html
@@ -0,0 +1,367 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:03 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+BitronixMultiSystemException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="BitronixMultiSystemException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixMultiSystemException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/internal/BitronixHeuristicRollbackException.html" title="class in bitronix.tm.internal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/internal/BitronixRollbackException.html" title="class in bitronix.tm.internal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/BitronixMultiSystemException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixMultiSystemException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_javax.transaction.SystemException">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.internal</FONT>
+<BR>
+Class BitronixMultiSystemException</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">java.lang.Throwable</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">java.lang.Exception</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">javax.transaction.SystemException</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">bitronix.tm.internal.BitronixSystemException</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.internal.BitronixMultiSystemException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>BitronixMultiSystemException</B><DT>extends <A HREF="../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A></DL>
+</PRE>
+
+<P>
+Subclass of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction"><CODE>SystemException</CODE></A> supporting nested <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A>s.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#bitronix.tm.internal.BitronixMultiSystemException">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_javax.transaction.SystemException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class javax.transaction.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true#errorCode" title="class or interface in javax.transaction">errorCode</A></CODE></TD>
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/BitronixMultiSystemException.html#BitronixMultiSystemException(java.lang.String, java.util.List, java.util.List)">BitronixMultiSystemException</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> string,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> exceptions,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> resourceStates)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/BitronixMultiSystemException.html#getExceptions()">getExceptions</A></B>()</CODE>
+
+<BR>
+ Get the list of exceptions that have been thrown during execution.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/BitronixMultiSystemException.html#getMessage()">getMessage</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/BitronixMultiSystemException.html#getResourceStates()">getResourceStates</A></B>()</CODE>
+
+<BR>
+ Get the list of XAResourceHolderStates which threw an exception during execution.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/BitronixMultiSystemException.html#isUnilateralRollback()">isUnilateralRollback</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#fillInStackTrace()" title="class or interface in java.lang">fillInStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getCause()" title="class or interface in java.lang">getCause</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getLocalizedMessage()" title="class or interface in java.lang [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="BitronixMultiSystemException(java.lang.String, java.util.List, java.util.List)"><!-- --></A><H3>
+BitronixMultiSystemException</H3>
+<PRE>
+public <B>BitronixMultiSystemException</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> string,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> exceptions,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> resourceStates)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getMessage()"><!-- --></A><H3>
+getMessage</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getMessage</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getMessage()" title="class or interface in java.lang">getMessage</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isUnilateralRollback()"><!-- --></A><H3>
+isUnilateralRollback</H3>
+<PRE>
+public boolean <B>isUnilateralRollback</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getExceptions()"><!-- --></A><H3>
+getExceptions</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>getExceptions</B>()</PRE>
+<DL>
+<DD>Get the list of exceptions that have been thrown during execution.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the list of exceptions that have been thrown during execution.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getResourceStates()"><!-- --></A><H3>
+getResourceStates</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>getResourceStates</B>()</PRE>
+<DL>
+<DD>Get the list of XAResourceHolderStates which threw an exception during execution.
+ This list always contains exactly one resource per exception present in <A HREF="../../../bitronix/tm/internal/BitronixMultiSystemException.html#getExceptions()"><CODE>getExceptions()</CODE></A> list.
+ Indices of both list always match a resource against the exception it threw.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the list of resource which threw an exception during execution.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixMultiSystemException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/internal/BitronixHeuristicRollbackException.html" title="class in bitronix.tm.internal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/internal/BitronixRollbackException.html" title="class in bitronix.tm.internal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/BitronixMultiSystemException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixMultiSystemException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_javax.transaction.SystemException">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/BitronixRollbackException.html b/doc/api/bitronix/tm/internal/BitronixRollbackException.html
new file mode 100644
index 0000000..36cd26a
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/BitronixRollbackException.html
@@ -0,0 +1,264 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:03 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+BitronixRollbackException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="BitronixRollbackException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixRollbackException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/internal/BitronixMultiSystemException.html" title="class in bitronix.tm.internal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/internal/BitronixRollbackSystemException.html" title="class in bitronix.tm.internal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/BitronixRollbackException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixRollbackException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.internal</FONT>
+<BR>
+Class BitronixRollbackException</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">java.lang.Throwable</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">java.lang.Exception</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/RollbackException.html?is-external=true" title="class or interface in javax.transaction">javax.transaction.RollbackException</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.internal.BitronixRollbackException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>BitronixRollbackException</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/RollbackException.html?is-external=true" title="class or interface in javax.transaction">RollbackException</A></DL>
+</PRE>
+
+<P>
+Subclass of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/RollbackException.html?is-external=true" title="class or interface in javax.transaction"><CODE>RollbackException</CODE></A> supporting nested <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A>s.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#bitronix.tm.internal.BitronixRollbackException">Serialized Form</A></DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/BitronixRollbackException.html#BitronixRollbackException(java.lang.String)">BitronixRollbackException</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> string)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/BitronixRollbackException.html#BitronixRollbackException(java.lang.String, java.lang.Throwable)">BitronixRollbackException</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> string,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> t)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#fillInStackTrace()" title="class or interface in java.lang">fillInStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getCause()" title="class or interface in java.lang">getCause</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getLocalizedMessage()" title="class or interface in java.lang [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="BitronixRollbackException(java.lang.String)"><!-- --></A><H3>
+BitronixRollbackException</H3>
+<PRE>
+public <B>BitronixRollbackException</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> string)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="BitronixRollbackException(java.lang.String, java.lang.Throwable)"><!-- --></A><H3>
+BitronixRollbackException</H3>
+<PRE>
+public <B>BitronixRollbackException</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> string,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> t)</PRE>
+<DL>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixRollbackException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/internal/BitronixMultiSystemException.html" title="class in bitronix.tm.internal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/internal/BitronixRollbackSystemException.html" title="class in bitronix.tm.internal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/BitronixRollbackException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixRollbackException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/BitronixRollbackSystemException.html b/doc/api/bitronix/tm/internal/BitronixRollbackSystemException.html
new file mode 100644
index 0000000..3e32bfc
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/BitronixRollbackSystemException.html
@@ -0,0 +1,270 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:03 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+BitronixRollbackSystemException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="BitronixRollbackSystemException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixRollbackSystemException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/internal/BitronixRollbackException.html" title="class in bitronix.tm.internal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/internal/BitronixRuntimeException.html" title="class in bitronix.tm.internal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/BitronixRollbackSystemException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixRollbackSystemException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_javax.transaction.SystemException">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.internal</FONT>
+<BR>
+Class BitronixRollbackSystemException</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">java.lang.Throwable</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">java.lang.Exception</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">javax.transaction.SystemException</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">bitronix.tm.internal.BitronixSystemException</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.internal.BitronixRollbackSystemException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>BitronixRollbackSystemException</B><DT>extends <A HREF="../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A></DL>
+</PRE>
+
+<P>
+Subclass of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction"><CODE>SystemException</CODE></A> indicating a rollback must be performed.
+ This exception is used to handle unilateral rollback of resources during delistement.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#bitronix.tm.internal.BitronixRollbackSystemException">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_javax.transaction.SystemException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class javax.transaction.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true#errorCode" title="class or interface in javax.transaction">errorCode</A></CODE></TD>
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/BitronixRollbackSystemException.html#BitronixRollbackSystemException(java.lang.String, java.lang.Throwable)">BitronixRollbackSystemException</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> string,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> t)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#fillInStackTrace()" title="class or interface in java.lang">fillInStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getCause()" title="class or interface in java.lang">getCause</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getLocalizedMessage()" title="class or interface in java.lang [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="BitronixRollbackSystemException(java.lang.String, java.lang.Throwable)"><!-- --></A><H3>
+BitronixRollbackSystemException</H3>
+<PRE>
+public <B>BitronixRollbackSystemException</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> string,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> t)</PRE>
+<DL>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixRollbackSystemException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/internal/BitronixRollbackException.html" title="class in bitronix.tm.internal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/internal/BitronixRuntimeException.html" title="class in bitronix.tm.internal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/BitronixRollbackSystemException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixRollbackSystemException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_javax.transaction.SystemException">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/BitronixRuntimeException.html b/doc/api/bitronix/tm/internal/BitronixRuntimeException.html
new file mode 100644
index 0000000..6a1c02f
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/BitronixRuntimeException.html
@@ -0,0 +1,264 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:03 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+BitronixRuntimeException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="BitronixRuntimeException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixRuntimeException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/internal/BitronixRollbackSystemException.html" title="class in bitronix.tm.internal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/BitronixRuntimeException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixRuntimeException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.internal</FONT>
+<BR>
+Class BitronixRuntimeException</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">java.lang.Throwable</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">java.lang.Exception</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang">java.lang.RuntimeException</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.internal.BitronixRuntimeException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>BitronixRuntimeException</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang">RuntimeException</A></DL>
+</PRE>
+
+<P>
+Thrown when a runtime exception happens.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#bitronix.tm.internal.BitronixRuntimeException">Serialized Form</A></DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/BitronixRuntimeException.html#BitronixRuntimeException(java.lang.String)">BitronixRuntimeException</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/BitronixRuntimeException.html#BitronixRuntimeException(java.lang.String, java.lang.Throwable)">BitronixRuntimeException</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> cause)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#fillInStackTrace()" title="class or interface in java.lang">fillInStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getCause()" title="class or interface in java.lang">getCause</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getLocalizedMessage()" title="class or interface in java.lang [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="BitronixRuntimeException(java.lang.String, java.lang.Throwable)"><!-- --></A><H3>
+BitronixRuntimeException</H3>
+<PRE>
+public <B>BitronixRuntimeException</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> cause)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="BitronixRuntimeException(java.lang.String)"><!-- --></A><H3>
+BitronixRuntimeException</H3>
+<PRE>
+public <B>BitronixRuntimeException</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message)</PRE>
+<DL>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixRuntimeException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/internal/BitronixRollbackSystemException.html" title="class in bitronix.tm.internal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/BitronixRuntimeException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixRuntimeException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/BitronixSystemException.html b/doc/api/bitronix/tm/internal/BitronixSystemException.html
new file mode 100644
index 0000000..1e8a6e9
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/BitronixSystemException.html
@@ -0,0 +1,299 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:03 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+BitronixSystemException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="BitronixSystemException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixSystemException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/internal/BitronixRuntimeException.html" title="class in bitronix.tm.internal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/internal/BitronixXAException.html" title="class in bitronix.tm.internal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/BitronixSystemException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixSystemException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_javax.transaction.SystemException">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.internal</FONT>
+<BR>
+Class BitronixSystemException</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">java.lang.Throwable</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">java.lang.Exception</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">javax.transaction.SystemException</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.internal.BitronixSystemException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../bitronix/tm/internal/BitronixMultiSystemException.html" title="class in bitronix.tm.internal">BitronixMultiSystemException</A>, <A HREF="../../../bitronix/tm/internal/BitronixRollbackSystemException.html" title="class in bitronix.tm.internal">BitronixRollbackSystemException</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>BitronixSystemException</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></DL>
+</PRE>
+
+<P>
+Subclass of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction"><CODE>SystemException</CODE></A> supporting nested <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A>s.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#bitronix.tm.internal.BitronixSystemException">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_javax.transaction.SystemException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class javax.transaction.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true#errorCode" title="class or interface in javax.transaction">errorCode</A></CODE></TD>
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/BitronixSystemException.html#BitronixSystemException(int)">BitronixSystemException</A></B>(int errorCode)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/BitronixSystemException.html#BitronixSystemException(java.lang.String)">BitronixSystemException</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> string)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/BitronixSystemException.html#BitronixSystemException(java.lang.String, java.lang.Throwable)">BitronixSystemException</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> string,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> t)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#fillInStackTrace()" title="class or interface in java.lang">fillInStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getCause()" title="class or interface in java.lang">getCause</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getLocalizedMessage()" title="class or interface in java.lang [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="BitronixSystemException(int)"><!-- --></A><H3>
+BitronixSystemException</H3>
+<PRE>
+public <B>BitronixSystemException</B>(int errorCode)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="BitronixSystemException(java.lang.String)"><!-- --></A><H3>
+BitronixSystemException</H3>
+<PRE>
+public <B>BitronixSystemException</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> string)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="BitronixSystemException(java.lang.String, java.lang.Throwable)"><!-- --></A><H3>
+BitronixSystemException</H3>
+<PRE>
+public <B>BitronixSystemException</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> string,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> t)</PRE>
+<DL>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixSystemException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/internal/BitronixRuntimeException.html" title="class in bitronix.tm.internal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/internal/BitronixXAException.html" title="class in bitronix.tm.internal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/BitronixSystemException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixSystemException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_javax.transaction.SystemException">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/BitronixXAException.html b/doc/api/bitronix/tm/internal/BitronixXAException.html
new file mode 100644
index 0000000..ae8f72d
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/BitronixXAException.html
@@ -0,0 +1,314 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:03 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+BitronixXAException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="BitronixXAException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixXAException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/internal/ThreadContext.html" title="class in bitronix.tm.internal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/BitronixXAException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixXAException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_javax.transaction.xa.XAException">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.internal</FONT>
+<BR>
+Class BitronixXAException</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">java.lang.Throwable</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">java.lang.Exception</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">javax.transaction.xa.XAException</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.internal.BitronixXAException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>BitronixXAException</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></DL>
+</PRE>
+
+<P>
+Subclass of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAException</CODE></A> supporting nested <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A>s.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#bitronix.tm.internal.BitronixXAException">Serialized Form</A></DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_javax.transaction.xa.XAException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class javax.transaction.xa.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true#errorCode" title="class or interface in javax.transaction.xa">errorCode</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true#XA_HEURCOM" title="class or interface in javax.transaction.xa">XA_HEURCOM</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true#XA_HEURHAZ" ti [...]
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/BitronixXAException.html#BitronixXAException(java.lang.String, int)">BitronixXAException</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message,
+ int errorCode)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/BitronixXAException.html#BitronixXAException(java.lang.String, int, java.lang.Throwable)">BitronixXAException</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message,
+ int errorCode,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> t)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/BitronixXAException.html#isUnilateralRollback(javax.transaction.xa.XAException)">isUnilateralRollback</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A> ex)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#fillInStackTrace()" title="class or interface in java.lang">fillInStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getCause()" title="class or interface in java.lang">getCause</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getLocalizedMessage()" title="class or interface in java.lang [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="BitronixXAException(java.lang.String, int)"><!-- --></A><H3>
+BitronixXAException</H3>
+<PRE>
+public <B>BitronixXAException</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message,
+ int errorCode)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="BitronixXAException(java.lang.String, int, java.lang.Throwable)"><!-- --></A><H3>
+BitronixXAException</H3>
+<PRE>
+public <B>BitronixXAException</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message,
+ int errorCode,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> t)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="isUnilateralRollback(javax.transaction.xa.XAException)"><!-- --></A><H3>
+isUnilateralRollback</H3>
+<PRE>
+public static boolean <B>isUnilateralRollback</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A> ex)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixXAException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/internal/ThreadContext.html" title="class in bitronix.tm.internal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/BitronixXAException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixXAException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_javax.transaction.xa.XAException">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/ThreadContext.html b/doc/api/bitronix/tm/internal/ThreadContext.html
new file mode 100644
index 0000000..773a7d9
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/ThreadContext.html
@@ -0,0 +1,355 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:03 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+ThreadContext (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="ThreadContext (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ThreadContext.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/internal/BitronixXAException.html" title="class in bitronix.tm.internal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/internal/TransactionStatusChangeListener.html" title="interface in bitronix.tm.internal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/ThreadContext.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ThreadContext.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.internal</FONT>
+<BR>
+Class ThreadContext</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.internal.ThreadContext</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>ThreadContext</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+Transactional context of a thread. It contains both the active transaction (if any) and all default parameters
+ that a transaction running on a thread must inherit.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/ThreadContext.html#ThreadContext()">ThreadContext</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/ThreadContext.html#getTimeout()">getTimeout</A></B>()</CODE>
+
+<BR>
+ Return this context's default timeout.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/ThreadContext.html#getTransaction()">getTransaction</A></B>()</CODE>
+
+<BR>
+ Return the transaction linked with this thread context.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/ThreadContext.html#setTimeout(int)">setTimeout</A></B>(int timeout)</CODE>
+
+<BR>
+ Set this context's default timeout.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/ThreadContext.html#setTransaction(bitronix.tm.BitronixTransaction)">setTransaction</A></B>(<A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> transaction)</CODE>
+
+<BR>
+ Link a transaction with this thead context.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/ThreadContext.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ Return a human-readable representation.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="ThreadContext()"><!-- --></A><H3>
+ThreadContext</H3>
+<PRE>
+public <B>ThreadContext</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getTransaction()"><!-- --></A><H3>
+getTransaction</H3>
+<PRE>
+public <A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> <B>getTransaction</B>()</PRE>
+<DL>
+<DD>Return the transaction linked with this thread context.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the transaction linked to this thread context or null if there is none.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setTransaction(bitronix.tm.BitronixTransaction)"><!-- --></A><H3>
+setTransaction</H3>
+<PRE>
+public void <B>setTransaction</B>(<A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> transaction)</PRE>
+<DL>
+<DD>Link a transaction with this thead context.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>transaction</CODE> - the transaction to link.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTimeout()"><!-- --></A><H3>
+getTimeout</H3>
+<PRE>
+public int <B>getTimeout</B>()</PRE>
+<DL>
+<DD>Return this context's default timeout.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>this context's default timeout.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setTimeout(int)"><!-- --></A><H3>
+setTimeout</H3>
+<PRE>
+public void <B>setTimeout</B>(int timeout)</PRE>
+<DL>
+<DD>Set this context's default timeout. All transactions started by the thread linked to this context will get
+ this value as their default timeout.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>timeout</CODE> - the new default timeout value in seconds.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD>Return a human-readable representation.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a human-readable representation.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ThreadContext.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/internal/BitronixXAException.html" title="class in bitronix.tm.internal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/internal/TransactionStatusChangeListener.html" title="interface in bitronix.tm.internal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/ThreadContext.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ThreadContext.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/TransactionStatusChangeListener.html b/doc/api/bitronix/tm/internal/TransactionStatusChangeListener.html
new file mode 100644
index 0000000..5be90f5
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/TransactionStatusChangeListener.html
@@ -0,0 +1,219 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:03 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+TransactionStatusChangeListener (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="TransactionStatusChangeListener (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TransactionStatusChangeListener.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/internal/ThreadContext.html" title="class in bitronix.tm.internal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/internal/TransactionTimeoutException.html" title="class in bitronix.tm.internal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/TransactionStatusChangeListener.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionStatusChangeListener.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.internal</FONT>
+<BR>
+Interface TransactionStatusChangeListener</H2>
+<HR>
+<DL>
+<DT><PRE>public interface <B>TransactionStatusChangeListener</B></DL>
+</PRE>
+
+<P>
+<A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm"><CODE>BitronixTransaction</CODE></A> status change listener interface.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/TransactionStatusChangeListener.html#statusChanged(int, int)">statusChanged</A></B>(int oldStatus,
+ int newStatus)</CODE>
+
+<BR>
+ Fired when the status of a <A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm"><CODE>BitronixTransaction</CODE></A> has changed.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="statusChanged(int, int)"><!-- --></A><H3>
+statusChanged</H3>
+<PRE>
+void <B>statusChanged</B>(int oldStatus,
+ int newStatus)</PRE>
+<DL>
+<DD>Fired when the status of a <A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm"><CODE>BitronixTransaction</CODE></A> has changed.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>oldStatus</CODE> - the old status of the <A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm"><CODE>BitronixTransaction</CODE></A>.<DD><CODE>newStatus</CODE> - the new status of the <A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm"><CODE>BitronixTransaction</CODE></A>.<DT><B>See Also:</B><DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Status.html?is-external=true" tit [...]
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TransactionStatusChangeListener.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/internal/ThreadContext.html" title="class in bitronix.tm.internal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/internal/TransactionTimeoutException.html" title="class in bitronix.tm.internal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/TransactionStatusChangeListener.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionStatusChangeListener.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/TransactionTimeoutException.html b/doc/api/bitronix/tm/internal/TransactionTimeoutException.html
new file mode 100644
index 0000000..d678113
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/TransactionTimeoutException.html
@@ -0,0 +1,263 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:03 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+TransactionTimeoutException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="TransactionTimeoutException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TransactionTimeoutException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/internal/TransactionStatusChangeListener.html" title="interface in bitronix.tm.internal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/TransactionTimeoutException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionTimeoutException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.internal</FONT>
+<BR>
+Class TransactionTimeoutException</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">java.lang.Throwable</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">java.lang.Exception</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.internal.TransactionTimeoutException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>TransactionTimeoutException</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></DL>
+</PRE>
+
+<P>
+Thrown when a transaction times out.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#bitronix.tm.internal.TransactionTimeoutException">Serialized Form</A></DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/TransactionTimeoutException.html#TransactionTimeoutException(java.lang.String)">TransactionTimeoutException</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/TransactionTimeoutException.html#TransactionTimeoutException(java.lang.String, java.lang.Throwable)">TransactionTimeoutException</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> cause)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#fillInStackTrace()" title="class or interface in java.lang">fillInStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getCause()" title="class or interface in java.lang">getCause</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getLocalizedMessage()" title="class or interface in java.lang [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="TransactionTimeoutException(java.lang.String)"><!-- --></A><H3>
+TransactionTimeoutException</H3>
+<PRE>
+public <B>TransactionTimeoutException</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="TransactionTimeoutException(java.lang.String, java.lang.Throwable)"><!-- --></A><H3>
+TransactionTimeoutException</H3>
+<PRE>
+public <B>TransactionTimeoutException</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> cause)</PRE>
+<DL>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TransactionTimeoutException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/internal/TransactionStatusChangeListener.html" title="interface in bitronix.tm.internal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/TransactionTimeoutException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionTimeoutException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/XAResourceHolderState.html b/doc/api/bitronix/tm/internal/XAResourceHolderState.html
new file mode 100644
index 0000000..e1ff110
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/XAResourceHolderState.html
@@ -0,0 +1,645 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:03 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+XAResourceHolderState (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="XAResourceHolderState (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/XAResourceHolderState.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/internal/TransactionTimeoutException.html" title="class in bitronix.tm.internal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/XAResourceHolderState.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="XAResourceHolderState.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.internal</FONT>
+<BR>
+Class XAResourceHolderState</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.internal.XAResourceHolderState</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>XAResourceHolderState</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+<A HREF="../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> state container.
+ Instances are kept in the transaction and bound to / unbound from the <A HREF="../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> as the
+ resource participates in different transactions. A <A HREF="../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> without <A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A>
+ is considered to be in local transaction mode.
+ <p>Objects of this class also expose resource specific configuration like the unique resource name.</p>
+ <p>The <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> state during a transaction participation is also contained: assigned XID, transaction
+ start / end state...</p>
+ <p>There is exactly one <A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A> object per <A HREF="../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> per
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true" title="class or interface in javax.transaction"><CODE>Transaction</CODE></A>.</p>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common"><CODE>ResourceBean</CODE></A></DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html#XAResourceHolderState(bitronix.tm.resource.common.XAResourceHolder, bitronix.tm.resource.common.ResourceBean)">XAResourceHolderState</A></B>(<A HREF="../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> resourceHolder,
+ <A HREF="../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html#XAResourceHolderState(bitronix.tm.internal.XAResourceHolderState)">XAResourceHolderState</A></B>(<A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> resourceHolderState)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html#end(int)">end</A></B>(int flags)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html#equals(java.lang.Object)">equals</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> obj)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html#getIgnoreRecoveryFailures()">getIgnoreRecoveryFailures</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html#getTransactionTimeoutDate()">getTransactionTimeoutDate</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html#getTwoPcOrderingPosition()">getTwoPcOrderingPosition</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html#getUniqueName()">getUniqueName</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html#getUseTmJoin()">getUseTmJoin</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html#getXAResource()">getXAResource</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html#getXAResourceHolder()">getXAResourceHolder</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html#getXid()">getXid</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html#hashCode()">hashCode</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html#isEnded()">isEnded</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html#isFailed()">isFailed</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html#isStarted()">isStarted</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html#isSuspended()">isSuspended</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html#setTransactionTimeoutDate(java.util.Date)">setTransactionTimeoutDate</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> transactionTimeoutDate)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html#setXid(bitronix.tm.BitronixXid)">setXid</A></B>(<A HREF="../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A> xid)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html#start(int)">start</A></B>(int flags)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.c [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="XAResourceHolderState(bitronix.tm.resource.common.XAResourceHolder, bitronix.tm.resource.common.ResourceBean)"><!-- --></A><H3>
+XAResourceHolderState</H3>
+<PRE>
+public <B>XAResourceHolderState</B>(<A HREF="../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> resourceHolder,
+ <A HREF="../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="XAResourceHolderState(bitronix.tm.internal.XAResourceHolderState)"><!-- --></A><H3>
+XAResourceHolderState</H3>
+<PRE>
+public <B>XAResourceHolderState</B>(<A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> resourceHolderState)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getXid()"><!-- --></A><H3>
+getXid</H3>
+<PRE>
+public <A HREF="../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A> <B>getXid</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setXid(bitronix.tm.BitronixXid)"><!-- --></A><H3>
+setXid</H3>
+<PRE>
+public void <B>setXid</B>(<A HREF="../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A> xid)
+ throws <A HREF="../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXAResource()"><!-- --></A><H3>
+getXAResource</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> <B>getXAResource</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXAResourceHolder()"><!-- --></A><H3>
+getXAResourceHolder</H3>
+<PRE>
+public <A HREF="../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> <B>getXAResourceHolder</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTransactionTimeoutDate()"><!-- --></A><H3>
+getTransactionTimeoutDate</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> <B>getTransactionTimeoutDate</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setTransactionTimeoutDate(java.util.Date)"><!-- --></A><H3>
+setTransactionTimeoutDate</H3>
+<PRE>
+public void <B>setTransactionTimeoutDate</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> transactionTimeoutDate)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUniqueName()"><!-- --></A><H3>
+getUniqueName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getUniqueName</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUseTmJoin()"><!-- --></A><H3>
+getUseTmJoin</H3>
+<PRE>
+public boolean <B>getUseTmJoin</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTwoPcOrderingPosition()"><!-- --></A><H3>
+getTwoPcOrderingPosition</H3>
+<PRE>
+public int <B>getTwoPcOrderingPosition</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getIgnoreRecoveryFailures()"><!-- --></A><H3>
+getIgnoreRecoveryFailures</H3>
+<PRE>
+public boolean <B>getIgnoreRecoveryFailures</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isEnded()"><!-- --></A><H3>
+isEnded</H3>
+<PRE>
+public boolean <B>isEnded</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isStarted()"><!-- --></A><H3>
+isStarted</H3>
+<PRE>
+public boolean <B>isStarted</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isSuspended()"><!-- --></A><H3>
+isSuspended</H3>
+<PRE>
+public boolean <B>isSuspended</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isFailed()"><!-- --></A><H3>
+isFailed</H3>
+<PRE>
+public boolean <B>isFailed</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="end(int)"><!-- --></A><H3>
+end</H3>
+<PRE>
+public void <B>end</B>(int flags)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="start(int)"><!-- --></A><H3>
+start</H3>
+<PRE>
+public void <B>start</B>(int flags)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hashCode()"><!-- --></A><H3>
+hashCode</H3>
+<PRE>
+public int <B>hashCode</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="equals(java.lang.Object)"><!-- --></A><H3>
+equals</H3>
+<PRE>
+public boolean <B>equals</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> obj)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/XAResourceHolderState.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/internal/TransactionTimeoutException.html" title="class in bitronix.tm.internal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/XAResourceHolderState.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="XAResourceHolderState.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/XAResourceManager.html b/doc/api/bitronix/tm/internal/XAResourceManager.html
new file mode 100644
index 0000000..aaad464
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/XAResourceManager.html
@@ -0,0 +1,594 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:03 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+XAResourceManager (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="XAResourceManager (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/XAResourceManager.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/XAResourceManager.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="XAResourceManager.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.internal</FONT>
+<BR>
+Class XAResourceManager</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.internal.XAResourceManager</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>XAResourceManager</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+Every <A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm"><CODE>BitronixTransaction</CODE></A> contains an instance of this class that is used to register
+ and keep track of resources enlisted in a transaction.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceManager.html#XAResourceManager(bitronix.tm.utils.Uid)">XAResourceManager</A></B>(<A HREF="../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> gtrid)</CODE>
+
+<BR>
+ Create a resource manager for the specified GTRID.</TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceManager.html#clearXAResourceHolderStates()">clearXAResourceHolderStates</A></B>()</CODE>
+
+<BR>
+ Remove this transaction's <A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A> from all enlisted
+ <A HREF="../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceManager.html#collectUniqueNames()">collectUniqueNames</A></B>()</CODE>
+
+<BR>
+ Get a <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util"><CODE>Set</CODE></A> of unique names of all the enlisted <A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A>s.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceManager.html#delist(bitronix.tm.internal.XAResourceHolderState, int)">delist</A></B>(<A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState,
+ int flag)</CODE>
+
+<BR>
+ Delist the specified <A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceManager.html#enlist(bitronix.tm.internal.XAResourceHolderState)">enlist</A></B>(<A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</CODE>
+
+<BR>
+ Enlist the specified <A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceManager.html#findXAResourceHolderState(javax.transaction.xa.XAResource)">findXAResourceHolderState</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)</CODE>
+
+<BR>
+ Look if an <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> has already been enlisted.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceManager.html#getAllResources()">getAllResources</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceManager.html#getGtrid()">getGtrid</A></B>()</CODE>
+
+<BR>
+ Get the GTRID of the transaction the <A HREF="../../../bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal"><CODE>XAResourceManager</CODE></A> instance is attached to.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceManager.html#getNaturalOrderPositions()">getNaturalOrderPositions</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceManager.html#getNaturalOrderResourcesForPosition(java.lang.Object)">getNaturalOrderResourcesForPosition</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> positionKey)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceManager.html#getReverseOrderPositions()">getReverseOrderPositions</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceManager.html#getReverseOrderResourcesForPosition(java.lang.Object)">getReverseOrderResourcesForPosition</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> positionKey)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceManager.html#resume()">resume</A></B>()</CODE>
+
+<BR>
+ Resume all enlisted resources in the current transaction context.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceManager.html#size()">size</A></B>()</CODE>
+
+<BR>
+ Get the enlisted resources count.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceManager.html#suspend()">suspend</A></B>()</CODE>
+
+<BR>
+ Suspend all enlisted resources from the current transaction context.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/internal/XAResourceManager.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ Return a human-readable representation of this object.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="XAResourceManager(bitronix.tm.utils.Uid)"><!-- --></A><H3>
+XAResourceManager</H3>
+<PRE>
+public <B>XAResourceManager</B>(<A HREF="../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> gtrid)</PRE>
+<DL>
+<DD>Create a resource manager for the specified GTRID.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>gtrid</CODE> - the transaction's GTRID this XAResourceManager will be assigned to.</DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="enlist(bitronix.tm.internal.XAResourceHolderState)"><!-- --></A><H3>
+enlist</H3>
+<PRE>
+public void <B>enlist</B>(<A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A>,
+ <A HREF="../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A></PRE>
+<DL>
+<DD>Enlist the specified <A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A>. A XID is generated and the resource is started with
+ XAResource.TMNOFLAGS or XAResource.TMJOIN if it could be joined with another previously enlisted one.
+ <br/>
+ There are 3 different cases that can happen when a <A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A> is enlisted:
+ <ul>
+ <li>already enlisted and not ended: do nothing</li>
+ <li>already enlisted and ended: try to join. if you can join, keep a reference on the passed-in
+ <A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A> and drop the previous one. if you cannot join, it's the same as case 3</li>
+ <li>not enlisted: create a new branch and keep a reference on the passed-in <A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A></li>
+ </ul>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xaResourceHolderState</CODE> - the <A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A> to be enlisted.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></CODE> - if a resource error occured.
+<DD><CODE><A HREF="../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A></CODE> - if an internal error occured.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="delist(bitronix.tm.internal.XAResourceHolderState, int)"><!-- --></A><H3>
+delist</H3>
+<PRE>
+public boolean <B>delist</B>(<A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState,
+ int flag)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A>,
+ <A HREF="../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A></PRE>
+<DL>
+<DD>Delist the specified <A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A>. A reference to the resource is kept anyway.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xaResourceHolderState</CODE> - the <A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A> to be delisted.<DD><CODE>flag</CODE> - the delistment flag.
+<DT><B>Returns:</B><DD>true if the resource could be delisted, false otherwise.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></CODE> - if the resource threw an exception during delistment.
+<DD><CODE><A HREF="../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A></CODE> - if an internal error occured.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="suspend()"><!-- --></A><H3>
+suspend</H3>
+<PRE>
+public void <B>suspend</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></PRE>
+<DL>
+<DD>Suspend all enlisted resources from the current transaction context.
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></CODE> - if the resource threw an exception during suspend.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="resume()"><!-- --></A><H3>
+resume</H3>
+<PRE>
+public void <B>resume</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></PRE>
+<DL>
+<DD>Resume all enlisted resources in the current transaction context.
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></CODE> - if the resource threw an exception during resume.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="findXAResourceHolderState(javax.transaction.xa.XAResource)"><!-- --></A><H3>
+findXAResourceHolderState</H3>
+<PRE>
+public <A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> <B>findXAResourceHolderState</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)
+ throws <A HREF="../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A></PRE>
+<DL>
+<DD>Look if an <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> has already been enlisted.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xaResource</CODE> - the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> to look for.
+<DT><B>Returns:</B><DD>the <A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A> of the enlisted resource or null if the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> has not
+ been enlisted in this <A HREF="../../../bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal"><CODE>XAResourceManager</CODE></A>.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A></CODE> - if an internal error happens.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="clearXAResourceHolderStates()"><!-- --></A><H3>
+clearXAResourceHolderStates</H3>
+<PRE>
+public void <B>clearXAResourceHolderStates</B>()</PRE>
+<DL>
+<DD>Remove this transaction's <A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A> from all enlisted
+ <A HREF="../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="collectUniqueNames()"><!-- --></A><H3>
+collectUniqueNames</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A> <B>collectUniqueNames</B>()</PRE>
+<DL>
+<DD>Get a <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util"><CODE>Set</CODE></A> of unique names of all the enlisted <A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A>s.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util"><CODE>Set</CODE></A> of unique names of all the enlisted <A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A>s.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNaturalOrderPositions()"><!-- --></A><H3>
+getNaturalOrderPositions</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</A> <B>getNaturalOrderPositions</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getReverseOrderPositions()"><!-- --></A><H3>
+getReverseOrderPositions</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</A> <B>getReverseOrderPositions</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNaturalOrderResourcesForPosition(java.lang.Object)"><!-- --></A><H3>
+getNaturalOrderResourcesForPosition</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>getNaturalOrderResourcesForPosition</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> positionKey)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getReverseOrderResourcesForPosition(java.lang.Object)"><!-- --></A><H3>
+getReverseOrderResourcesForPosition</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>getReverseOrderResourcesForPosition</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> positionKey)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAllResources()"><!-- --></A><H3>
+getAllResources</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>getAllResources</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="size()"><!-- --></A><H3>
+size</H3>
+<PRE>
+public int <B>size</B>()</PRE>
+<DL>
+<DD>Get the enlisted resources count.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the enlisted resources count.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGtrid()"><!-- --></A><H3>
+getGtrid</H3>
+<PRE>
+public <A HREF="../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> <B>getGtrid</B>()</PRE>
+<DL>
+<DD>Get the GTRID of the transaction the <A HREF="../../../bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal"><CODE>XAResourceManager</CODE></A> instance is attached to.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the GTRID of the transaction the <A HREF="../../../bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal"><CODE>XAResourceManager</CODE></A> instance is attached to.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD>Return a human-readable representation of this object.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a human-readable representation of this object.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/XAResourceManager.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/XAResourceManager.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="XAResourceManager.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/class-use/BitronixHeuristicCommitException.html b/doc/api/bitronix/tm/internal/class-use/BitronixHeuristicCommitException.html
new file mode 100644
index 0000000..f3e6a3c
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/class-use/BitronixHeuristicCommitException.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.internal.BitronixHeuristicCommitException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.internal.BitronixHeuristicCommitException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/internal/BitronixHeuristicCommitException.html" title="class in bitronix.tm.internal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/internal//class-useBitronixHeuristicCommitException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixHeuristicCommitException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.internal.BitronixHeuristicCommitException</B></H2>
+</CENTER>
+No usage of bitronix.tm.internal.BitronixHeuristicCommitException
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/internal/BitronixHeuristicCommitException.html" title="class in bitronix.tm.internal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/internal//class-useBitronixHeuristicCommitException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixHeuristicCommitException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/class-use/BitronixHeuristicMixedException.html b/doc/api/bitronix/tm/internal/class-use/BitronixHeuristicMixedException.html
new file mode 100644
index 0000000..babda85
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/class-use/BitronixHeuristicMixedException.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.internal.BitronixHeuristicMixedException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.internal.BitronixHeuristicMixedException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/internal/BitronixHeuristicMixedException.html" title="class in bitronix.tm.internal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/internal//class-useBitronixHeuristicMixedException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixHeuristicMixedException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.internal.BitronixHeuristicMixedException</B></H2>
+</CENTER>
+No usage of bitronix.tm.internal.BitronixHeuristicMixedException
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/internal/BitronixHeuristicMixedException.html" title="class in bitronix.tm.internal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/internal//class-useBitronixHeuristicMixedException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixHeuristicMixedException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/class-use/BitronixHeuristicRollbackException.html b/doc/api/bitronix/tm/internal/class-use/BitronixHeuristicRollbackException.html
new file mode 100644
index 0000000..8e363ba
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/class-use/BitronixHeuristicRollbackException.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.internal.BitronixHeuristicRollbackException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.internal.BitronixHeuristicRollbackException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/internal/BitronixHeuristicRollbackException.html" title="class in bitronix.tm.internal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/internal//class-useBitronixHeuristicRollbackException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixHeuristicRollbackException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.internal.BitronixHeuristicRollbackException</B></H2>
+</CENTER>
+No usage of bitronix.tm.internal.BitronixHeuristicRollbackException
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/internal/BitronixHeuristicRollbackException.html" title="class in bitronix.tm.internal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/internal//class-useBitronixHeuristicRollbackException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixHeuristicRollbackException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/class-use/BitronixMultiSystemException.html b/doc/api/bitronix/tm/internal/class-use/BitronixMultiSystemException.html
new file mode 100644
index 0000000..9a821ba
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/class-use/BitronixMultiSystemException.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.internal.BitronixMultiSystemException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.internal.BitronixMultiSystemException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/internal/BitronixMultiSystemException.html" title="class in bitronix.tm.internal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/internal//class-useBitronixMultiSystemException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixMultiSystemException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.internal.BitronixMultiSystemException</B></H2>
+</CENTER>
+No usage of bitronix.tm.internal.BitronixMultiSystemException
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/internal/BitronixMultiSystemException.html" title="class in bitronix.tm.internal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/internal//class-useBitronixMultiSystemException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixMultiSystemException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/class-use/BitronixRollbackException.html b/doc/api/bitronix/tm/internal/class-use/BitronixRollbackException.html
new file mode 100644
index 0000000..81e49bd
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/class-use/BitronixRollbackException.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.internal.BitronixRollbackException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.internal.BitronixRollbackException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/internal/BitronixRollbackException.html" title="class in bitronix.tm.internal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/internal//class-useBitronixRollbackException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixRollbackException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.internal.BitronixRollbackException</B></H2>
+</CENTER>
+No usage of bitronix.tm.internal.BitronixRollbackException
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/internal/BitronixRollbackException.html" title="class in bitronix.tm.internal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/internal//class-useBitronixRollbackException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixRollbackException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/class-use/BitronixRollbackSystemException.html b/doc/api/bitronix/tm/internal/class-use/BitronixRollbackSystemException.html
new file mode 100644
index 0000000..1d39924
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/class-use/BitronixRollbackSystemException.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.internal.BitronixRollbackSystemException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.internal.BitronixRollbackSystemException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/internal/BitronixRollbackSystemException.html" title="class in bitronix.tm.internal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/internal//class-useBitronixRollbackSystemException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixRollbackSystemException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.internal.BitronixRollbackSystemException</B></H2>
+</CENTER>
+No usage of bitronix.tm.internal.BitronixRollbackSystemException
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/internal/BitronixRollbackSystemException.html" title="class in bitronix.tm.internal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/internal//class-useBitronixRollbackSystemException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixRollbackSystemException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/class-use/BitronixRuntimeException.html b/doc/api/bitronix/tm/internal/class-use/BitronixRuntimeException.html
new file mode 100644
index 0000000..b0e8ed4
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/class-use/BitronixRuntimeException.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.internal.BitronixRuntimeException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.internal.BitronixRuntimeException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/internal/BitronixRuntimeException.html" title="class in bitronix.tm.internal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/internal//class-useBitronixRuntimeException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixRuntimeException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.internal.BitronixRuntimeException</B></H2>
+</CENTER>
+No usage of bitronix.tm.internal.BitronixRuntimeException
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/internal/BitronixRuntimeException.html" title="class in bitronix.tm.internal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/internal//class-useBitronixRuntimeException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixRuntimeException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/class-use/BitronixSystemException.html b/doc/api/bitronix/tm/internal/class-use/BitronixSystemException.html
new file mode 100644
index 0000000..d3c92bb
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/class-use/BitronixSystemException.html
@@ -0,0 +1,357 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.internal.BitronixSystemException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.internal.BitronixSystemException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/internal//class-useBitronixSystemException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixSystemException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.internal.BitronixSystemException</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm"><B>bitronix.tm</B></A></TD>
+<TD>
+ JTA interfaces implementations and global services. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.internal"><B>bitronix.tm.internal</B></A></TD>
+<TD>
+ Internal implementation details. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.common"><B>bitronix.tm.resource.common</B></A></TD>
+<TD>
+ Resource management code common across all resource types. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.twopc"><B>bitronix.tm.twopc</B></A></TD>
+<TD>
+ Two-phase commit logic. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A> in <A HREF="../../../../bitronix/tm/package-summary.html">bitronix.tm</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/package-summary.html">bitronix.tm</A> that throw <A HREF="../../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>BitronixTransaction.</B><B><A HREF="../../../../bitronix/tm/BitronixTransaction.html#setStatus(int)">setStatus</A></B>(int status)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>BitronixTransaction.</B><B><A HREF="../../../../bitronix/tm/BitronixTransaction.html#setStatus(int, java.util.Set)">setStatus</A></B>(int status,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A> uniqueNames)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>BitronixTransaction.</B><B><A HREF="../../../../bitronix/tm/BitronixTransaction.html#timeout()">timeout</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.internal"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A> in <A HREF="../../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A> in <A HREF="../../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/internal/BitronixMultiSystemException.html" title="class in bitronix.tm.internal">BitronixMultiSystemException</A></B></CODE>
+
+<BR>
+ Subclass of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction"><CODE>SystemException</CODE></A> supporting nested <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A>s.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/internal/BitronixRollbackSystemException.html" title="class in bitronix.tm.internal">BitronixRollbackSystemException</A></B></CODE>
+
+<BR>
+ Subclass of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction"><CODE>SystemException</CODE></A> indicating a rollback must be performed.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A> that throw <A HREF="../../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>XAResourceManager.</B><B><A HREF="../../../../bitronix/tm/internal/XAResourceManager.html#delist(bitronix.tm.internal.XAResourceHolderState, int)">delist</A></B>(<A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState,
+ int flag)</CODE>
+
+<BR>
+ Delist the specified <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XAResourceManager.</B><B><A HREF="../../../../bitronix/tm/internal/XAResourceManager.html#enlist(bitronix.tm.internal.XAResourceHolderState)">enlist</A></B>(<A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</CODE>
+
+<BR>
+ Enlist the specified <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A></CODE></FONT></TD>
+<TD><CODE><B>XAResourceManager.</B><B><A HREF="../../../../bitronix/tm/internal/XAResourceManager.html#findXAResourceHolderState(javax.transaction.xa.XAResource)">findXAResourceHolderState</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)</CODE>
+
+<BR>
+ Look if an <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> has already been enlisted.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XAResourceHolderState.</B><B><A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html#setXid(bitronix.tm.BitronixXid)">setXid</A></B>(<A HREF="../../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A> xid)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.common"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A> in <A HREF="../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A> that throw <A HREF="../../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B>TransactionContextHelper.</B><B><A HREF="../../../../bitronix/tm/resource/common/TransactionContextHelper.html#requeue(bitronix.tm.resource.common.XAStatefulHolder, bitronix.tm.resource.common.ResourceBean)">requeue</A></B>(<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> xaStatefulHolder,
+ <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)</CODE>
+
+<BR>
+ Switch the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>'s state appropriately after the acquired resource handle has been closed.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.twopc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A> in <A HREF="../../../../bitronix/tm/twopc/package-summary.html">bitronix.tm.twopc</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/twopc/package-summary.html">bitronix.tm.twopc</A> that throw <A HREF="../../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Committer.</B><B><A HREF="../../../../bitronix/tm/twopc/Committer.html#commit(bitronix.tm.BitronixTransaction, java.util.List)">commit</A></B>(<A HREF="../../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> transaction,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> interestedResources)</CODE>
+
+<BR>
+ Execute phase 2 commit.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B>Preparer.</B><B><A HREF="../../../../bitronix/tm/twopc/Preparer.html#prepare(bitronix.tm.BitronixTransaction)">prepare</A></B>(<A HREF="../../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> transaction)</CODE>
+
+<BR>
+ Execute phase 1 prepare.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Rollbacker.</B><B><A HREF="../../../../bitronix/tm/twopc/Rollbacker.html#rollback(bitronix.tm.BitronixTransaction, java.util.List)">rollback</A></B>(<A HREF="../../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> transaction,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> interestedResources)</CODE>
+
+<BR>
+ Rollback the current XA transaction.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/internal//class-useBitronixSystemException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixSystemException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/class-use/BitronixXAException.html b/doc/api/bitronix/tm/internal/class-use/BitronixXAException.html
new file mode 100644
index 0000000..80c0745
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/class-use/BitronixXAException.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.internal.BitronixXAException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.internal.BitronixXAException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/internal/BitronixXAException.html" title="class in bitronix.tm.internal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/internal//class-useBitronixXAException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixXAException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.internal.BitronixXAException</B></H2>
+</CENTER>
+No usage of bitronix.tm.internal.BitronixXAException
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/internal/BitronixXAException.html" title="class in bitronix.tm.internal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/internal//class-useBitronixXAException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixXAException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/class-use/ThreadContext.html b/doc/api/bitronix/tm/internal/class-use/ThreadContext.html
new file mode 100644
index 0000000..27a294a
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/class-use/ThreadContext.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.internal.ThreadContext (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.internal.ThreadContext (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/internal/ThreadContext.html" title="class in bitronix.tm.internal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/internal//class-useThreadContext.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ThreadContext.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.internal.ThreadContext</B></H2>
+</CENTER>
+No usage of bitronix.tm.internal.ThreadContext
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/internal/ThreadContext.html" title="class in bitronix.tm.internal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/internal//class-useThreadContext.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ThreadContext.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/class-use/TransactionStatusChangeListener.html b/doc/api/bitronix/tm/internal/class-use/TransactionStatusChangeListener.html
new file mode 100644
index 0000000..b7be62d
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/class-use/TransactionStatusChangeListener.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Interface bitronix.tm.internal.TransactionStatusChangeListener (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface bitronix.tm.internal.TransactionStatusChangeListener (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/internal/TransactionStatusChangeListener.html" title="interface in bitronix.tm.internal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/internal//class-useTransactionStatusChangeListener.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionStatusChangeListener.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>bitronix.tm.internal.TransactionStatusChangeListener</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../bitronix/tm/internal/TransactionStatusChangeListener.html" title="interface in bitronix.tm.internal">TransactionStatusChangeListener</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm"><B>bitronix.tm</B></A></TD>
+<TD>
+ JTA interfaces implementations and global services. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/internal/TransactionStatusChangeListener.html" title="interface in bitronix.tm.internal">TransactionStatusChangeListener</A> in <A HREF="../../../../bitronix/tm/package-summary.html">bitronix.tm</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/package-summary.html">bitronix.tm</A> with parameters of type <A HREF="../../../../bitronix/tm/internal/TransactionStatusChangeListener.html" title="interface in bitronix.tm.internal">TransactionStatusChangeListener</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>BitronixTransaction.</B><B><A HREF="../../../../bitronix/tm/BitronixTransaction.html#addTransactionStatusChangeListener(bitronix.tm.internal.TransactionStatusChangeListener)">addTransactionStatusChangeListener</A></B>(<A HREF="../../../../bitronix/tm/internal/TransactionStatusChangeListener.html" title="interface in bitronix.tm.internal">TransactionStatusChangeListener</A> listener)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/internal/TransactionStatusChangeListener.html" title="interface in bitronix.tm.internal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/internal//class-useTransactionStatusChangeListener.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionStatusChangeListener.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/class-use/TransactionTimeoutException.html b/doc/api/bitronix/tm/internal/class-use/TransactionTimeoutException.html
new file mode 100644
index 0000000..2086ca5
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/class-use/TransactionTimeoutException.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.internal.TransactionTimeoutException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.internal.TransactionTimeoutException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/internal/TransactionTimeoutException.html" title="class in bitronix.tm.internal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/internal//class-useTransactionTimeoutException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionTimeoutException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.internal.TransactionTimeoutException</B></H2>
+</CENTER>
+No usage of bitronix.tm.internal.TransactionTimeoutException
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/internal/TransactionTimeoutException.html" title="class in bitronix.tm.internal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/internal//class-useTransactionTimeoutException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionTimeoutException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/class-use/XAResourceHolderState.html b/doc/api/bitronix/tm/internal/class-use/XAResourceHolderState.html
new file mode 100644
index 0000000..79ce532
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/class-use/XAResourceHolderState.html
@@ -0,0 +1,545 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.internal.XAResourceHolderState (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.internal.XAResourceHolderState (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/internal//class-useXAResourceHolderState.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="XAResourceHolderState.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.internal.XAResourceHolderState</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.internal"><B>bitronix.tm.internal</B></A></TD>
+<TD>
+ Internal implementation details. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.recovery"><B>bitronix.tm.recovery</B></A></TD>
+<TD>
+ Recovery logic. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.common"><B>bitronix.tm.resource.common</B></A></TD>
+<TD>
+ Resource management code common across all resource types. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.ehcache"><B>bitronix.tm.resource.ehcache</B></A></TD>
+<TD>
+ Ehcache specific resource management code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jdbc"><B>bitronix.tm.resource.jdbc</B></A></TD>
+<TD>
+ JDBC specific resource management code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jms"><B>bitronix.tm.resource.jms</B></A></TD>
+<TD>
+ Synchronous JMS specific resource management code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.twopc"><B>bitronix.tm.twopc</B></A></TD>
+<TD>
+ Two-phase commit logic. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.twopc.executor"><B>bitronix.tm.twopc.executor</B></A></TD>
+<TD>
+ Two-phase commit commands executors. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.internal"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> in <A HREF="../../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A> that return <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A></CODE></FONT></TD>
+<TD><CODE><B>XAResourceManager.</B><B><A HREF="../../../../bitronix/tm/internal/XAResourceManager.html#findXAResourceHolderState(javax.transaction.xa.XAResource)">findXAResourceHolderState</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)</CODE>
+
+<BR>
+ Look if an <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> has already been enlisted.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A> with parameters of type <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>XAResourceManager.</B><B><A HREF="../../../../bitronix/tm/internal/XAResourceManager.html#delist(bitronix.tm.internal.XAResourceHolderState, int)">delist</A></B>(<A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState,
+ int flag)</CODE>
+
+<BR>
+ Delist the specified <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XAResourceManager.</B><B><A HREF="../../../../bitronix/tm/internal/XAResourceManager.html#enlist(bitronix.tm.internal.XAResourceHolderState)">enlist</A></B>(<A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</CODE>
+
+<BR>
+ Enlist the specified <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A>.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A> with parameters of type <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html#XAResourceHolderState(bitronix.tm.internal.XAResourceHolderState)">XAResourceHolderState</A></B>(<A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> resourceHolderState)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.recovery"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> in <A HREF="../../../../bitronix/tm/recovery/package-summary.html">bitronix.tm.recovery</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/recovery/package-summary.html">bitronix.tm.recovery</A> with parameters of type <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static boolean</CODE></FONT></TD>
+<TD><CODE><B>RecoveryHelper.</B><B><A HREF="../../../../bitronix/tm/recovery/RecoveryHelper.html#commit(bitronix.tm.internal.XAResourceHolderState, javax.transaction.xa.Xid)">commit</A></B>(<A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid)</CODE>
+
+<BR>
+ Commit the specified branch of a dangling transaction.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A></CODE></FONT></TD>
+<TD><CODE><B>RecoveryHelper.</B><B><A HREF="../../../../bitronix/tm/recovery/RecoveryHelper.html#recover(bitronix.tm.internal.XAResourceHolderState)">recover</A></B>(<A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</CODE>
+
+<BR>
+ Run the recovery process on the target resource.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static boolean</CODE></FONT></TD>
+<TD><CODE><B>RecoveryHelper.</B><B><A HREF="../../../../bitronix/tm/recovery/RecoveryHelper.html#rollback(bitronix.tm.internal.XAResourceHolderState, javax.transaction.xa.Xid)">rollback</A></B>(<A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid)</CODE>
+
+<BR>
+ Rollback the specified branch of a dangling transaction.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.common"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> in <A HREF="../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A> that return <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A></CODE></FONT></TD>
+<TD><CODE><B>XAResourceProducer.</B><B><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#startRecovery()">startRecovery</A></B>()</CODE>
+
+<BR>
+ Prepare the recoverable <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> producer for recovery.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A> with parameters of type <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XAResourceHolder.</B><B><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html#putXAResourceHolderState(bitronix.tm.BitronixXid, bitronix.tm.internal.XAResourceHolderState)">putXAResourceHolderState</A></B>(<A HREF="../../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A> xid,
+ <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</CODE>
+
+<BR>
+ Add a <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A> of this wrapped resource.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractXAResourceHolder.</B><B><A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html#putXAResourceHolderState(bitronix.tm.BitronixXid, bitronix.tm.internal.XAResourceHolderState)">putXAResourceHolderState</A></B>(<A HREF="../../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A> xid,
+ <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.ehcache"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> in <A HREF="../../../../bitronix/tm/resource/ehcache/package-summary.html">bitronix.tm.resource.ehcache</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/resource/ehcache/package-summary.html">bitronix.tm.resource.ehcache</A> that return <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A></CODE></FONT></TD>
+<TD><CODE><B>EhCacheXAResourceProducer.</B><B><A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html#startRecovery()">startRecovery</A></B>()</CODE>
+
+<BR>
+ Prepare the recoverable <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> producer for recovery.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jdbc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> in <A HREF="../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A> that return <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A></CODE></FONT></TD>
+<TD><CODE><B>PoolingDataSource.</B><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#startRecovery()">startRecovery</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jms"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> in <A HREF="../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A> that return <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A></CODE></FONT></TD>
+<TD><CODE><B>PoolingConnectionFactory.</B><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html#startRecovery()">startRecovery</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.twopc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> in <A HREF="../../../../bitronix/tm/twopc/package-summary.html">bitronix.tm.twopc</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/twopc/package-summary.html">bitronix.tm.twopc</A> with parameters of type <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A></CODE></FONT></TD>
+<TD><CODE><B>Rollbacker.</B><B><A HREF="../../../../bitronix/tm/twopc/Rollbacker.html#createJob(bitronix.tm.internal.XAResourceHolderState)">createJob</A></B>(<A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> resourceHolder)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A></CODE></FONT></TD>
+<TD><CODE><B>Preparer.</B><B><A HREF="../../../../bitronix/tm/twopc/Preparer.html#createJob(bitronix.tm.internal.XAResourceHolderState)">createJob</A></B>(<A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A></CODE></FONT></TD>
+<TD><CODE><B>Committer.</B><B><A HREF="../../../../bitronix/tm/twopc/Committer.html#createJob(bitronix.tm.internal.XAResourceHolderState)">createJob</A></B>(<A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> resourceHolder)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected abstract <A HREF="../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractPhaseEngine.</B><B><A HREF="../../../../bitronix/tm/twopc/AbstractPhaseEngine.html#createJob(bitronix.tm.internal.XAResourceHolderState)">createJob</A></B>(<A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</CODE>
+
+<BR>
+ Create a <A HREF="../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor"><CODE>Job</CODE></A> that is going to execute the phase command on the given resource.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected boolean</CODE></FONT></TD>
+<TD><CODE><B>Rollbacker.</B><B><A HREF="../../../../bitronix/tm/twopc/Rollbacker.html#isParticipating(bitronix.tm.internal.XAResourceHolderState)">isParticipating</A></B>(<A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected boolean</CODE></FONT></TD>
+<TD><CODE><B>Preparer.</B><B><A HREF="../../../../bitronix/tm/twopc/Preparer.html#isParticipating(bitronix.tm.internal.XAResourceHolderState)">isParticipating</A></B>(<A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected boolean</CODE></FONT></TD>
+<TD><CODE><B>Committer.</B><B><A HREF="../../../../bitronix/tm/twopc/Committer.html#isParticipating(bitronix.tm.internal.XAResourceHolderState)">isParticipating</A></B>(<A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected abstract boolean</CODE></FONT></TD>
+<TD><CODE><B>AbstractPhaseEngine.</B><B><A HREF="../../../../bitronix/tm/twopc/AbstractPhaseEngine.html#isParticipating(bitronix.tm.internal.XAResourceHolderState)">isParticipating</A></B>(<A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</CODE>
+
+<BR>
+ Determine if a resource is participating in the phase or not.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.twopc.executor"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> in <A HREF="../../../../bitronix/tm/twopc/executor/package-summary.html">bitronix.tm.twopc.executor</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/twopc/executor/package-summary.html">bitronix.tm.twopc.executor</A> that return <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A></CODE></FONT></TD>
+<TD><CODE><B>Job.</B><B><A HREF="../../../../bitronix/tm/twopc/executor/Job.html#getResource()">getResource</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../bitronix/tm/twopc/executor/package-summary.html">bitronix.tm.twopc.executor</A> with parameters of type <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/Job.html#Job(bitronix.tm.internal.XAResourceHolderState)">Job</A></B>(<A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> resourceHolder)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/internal//class-useXAResourceHolderState.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="XAResourceHolderState.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/class-use/XAResourceManager.html b/doc/api/bitronix/tm/internal/class-use/XAResourceManager.html
new file mode 100644
index 0000000..66130d9
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/class-use/XAResourceManager.html
@@ -0,0 +1,213 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.internal.XAResourceManager (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.internal.XAResourceManager (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/internal//class-useXAResourceManager.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="XAResourceManager.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.internal.XAResourceManager</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal">XAResourceManager</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm"><B>bitronix.tm</B></A></TD>
+<TD>
+ JTA interfaces implementations and global services. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.twopc"><B>bitronix.tm.twopc</B></A></TD>
+<TD>
+ Two-phase commit logic. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal">XAResourceManager</A> in <A HREF="../../../../bitronix/tm/package-summary.html">bitronix.tm</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/package-summary.html">bitronix.tm</A> that return <A HREF="../../../../bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal">XAResourceManager</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal">XAResourceManager</A></CODE></FONT></TD>
+<TD><CODE><B>BitronixTransaction.</B><B><A HREF="../../../../bitronix/tm/BitronixTransaction.html#getResourceManager()">getResourceManager</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.twopc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal">XAResourceManager</A> in <A HREF="../../../../bitronix/tm/twopc/package-summary.html">bitronix.tm.twopc</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/twopc/package-summary.html">bitronix.tm.twopc</A> with parameters of type <A HREF="../../../../bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal">XAResourceManager</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B>AbstractPhaseEngine.</B><B><A HREF="../../../../bitronix/tm/twopc/AbstractPhaseEngine.html#executePhase(bitronix.tm.internal.XAResourceManager, boolean)">executePhase</A></B>(<A HREF="../../../../bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal">XAResourceManager</A> resourceManager,
+ boolean reverse)</CODE>
+
+<BR>
+ Execute the phase.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/internal//class-useXAResourceManager.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="XAResourceManager.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/package-frame.html b/doc/api/bitronix/tm/internal/package-frame.html
new file mode 100644
index 0000000..e3d4d68
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/package-frame.html
@@ -0,0 +1,77 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.internal (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../bitronix/tm/internal/package-summary.html" target="classFrame">bitronix.tm.internal</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Interfaces</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="TransactionStatusChangeListener.html" title="interface in bitronix.tm.internal" target="classFrame"><I>TransactionStatusChangeListener</I></A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="ThreadContext.html" title="class in bitronix.tm.internal" target="classFrame">ThreadContext</A>
+<BR>
+<A HREF="XAResourceHolderState.html" title="class in bitronix.tm.internal" target="classFrame">XAResourceHolderState</A>
+<BR>
+<A HREF="XAResourceManager.html" title="class in bitronix.tm.internal" target="classFrame">XAResourceManager</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Exceptions</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="BitronixHeuristicCommitException.html" title="class in bitronix.tm.internal" target="classFrame">BitronixHeuristicCommitException</A>
+<BR>
+<A HREF="BitronixHeuristicMixedException.html" title="class in bitronix.tm.internal" target="classFrame">BitronixHeuristicMixedException</A>
+<BR>
+<A HREF="BitronixHeuristicRollbackException.html" title="class in bitronix.tm.internal" target="classFrame">BitronixHeuristicRollbackException</A>
+<BR>
+<A HREF="BitronixMultiSystemException.html" title="class in bitronix.tm.internal" target="classFrame">BitronixMultiSystemException</A>
+<BR>
+<A HREF="BitronixRollbackException.html" title="class in bitronix.tm.internal" target="classFrame">BitronixRollbackException</A>
+<BR>
+<A HREF="BitronixRollbackSystemException.html" title="class in bitronix.tm.internal" target="classFrame">BitronixRollbackSystemException</A>
+<BR>
+<A HREF="BitronixRuntimeException.html" title="class in bitronix.tm.internal" target="classFrame">BitronixRuntimeException</A>
+<BR>
+<A HREF="BitronixSystemException.html" title="class in bitronix.tm.internal" target="classFrame">BitronixSystemException</A>
+<BR>
+<A HREF="BitronixXAException.html" title="class in bitronix.tm.internal" target="classFrame">BitronixXAException</A>
+<BR>
+<A HREF="TransactionTimeoutException.html" title="class in bitronix.tm.internal" target="classFrame">TransactionTimeoutException</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/package-summary.html b/doc/api/bitronix/tm/internal/package-summary.html
new file mode 100644
index 0000000..9f5333d
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/package-summary.html
@@ -0,0 +1,249 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.internal (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.internal (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/gui/package-summary.html"><B>PREV PACKAGE</B></A>
+ <A HREF="../../../bitronix/tm/jndi/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package bitronix.tm.internal
+</H2>
+
+ Internal implementation details.
+<P>
+<B>See:</B>
+<BR>
+ <A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Interface Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/internal/TransactionStatusChangeListener.html" title="interface in bitronix.tm.internal">TransactionStatusChangeListener</A></B></TD>
+<TD><A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm"><CODE>BitronixTransaction</CODE></A> status change listener interface.</TD>
+</TR>
+</TABLE>
+
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/internal/ThreadContext.html" title="class in bitronix.tm.internal">ThreadContext</A></B></TD>
+<TD>Transactional context of a thread.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A></B></TD>
+<TD><A HREF="../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> state container.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal">XAResourceManager</A></B></TD>
+<TD>Every <A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm"><CODE>BitronixTransaction</CODE></A> contains an instance of this class that is used to register
+ and keep track of resources enlisted in a transaction.</TD>
+</TR>
+</TABLE>
+
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Exception Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/internal/BitronixHeuristicCommitException.html" title="class in bitronix.tm.internal">BitronixHeuristicCommitException</A></B></TD>
+<TD>Subclass of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicCommitException.html?is-external=true" title="class or interface in javax.transaction"><CODE>HeuristicCommitException</CODE></A> supporting nested <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A>s.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/internal/BitronixHeuristicMixedException.html" title="class in bitronix.tm.internal">BitronixHeuristicMixedException</A></B></TD>
+<TD>Subclass of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicMixedException.html?is-external=true" title="class or interface in javax.transaction"><CODE>HeuristicMixedException</CODE></A> supporting nested <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A>s.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/internal/BitronixHeuristicRollbackException.html" title="class in bitronix.tm.internal">BitronixHeuristicRollbackException</A></B></TD>
+<TD>Subclass of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicRollbackException.html?is-external=true" title="class or interface in javax.transaction"><CODE>HeuristicRollbackException</CODE></A> supporting nested <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A>s.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/internal/BitronixMultiSystemException.html" title="class in bitronix.tm.internal">BitronixMultiSystemException</A></B></TD>
+<TD>Subclass of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction"><CODE>SystemException</CODE></A> supporting nested <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A>s.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/internal/BitronixRollbackException.html" title="class in bitronix.tm.internal">BitronixRollbackException</A></B></TD>
+<TD>Subclass of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/RollbackException.html?is-external=true" title="class or interface in javax.transaction"><CODE>RollbackException</CODE></A> supporting nested <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A>s.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/internal/BitronixRollbackSystemException.html" title="class in bitronix.tm.internal">BitronixRollbackSystemException</A></B></TD>
+<TD>Subclass of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction"><CODE>SystemException</CODE></A> indicating a rollback must be performed.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/internal/BitronixRuntimeException.html" title="class in bitronix.tm.internal">BitronixRuntimeException</A></B></TD>
+<TD>Thrown when a runtime exception happens.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A></B></TD>
+<TD>Subclass of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction"><CODE>SystemException</CODE></A> supporting nested <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A>s.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/internal/BitronixXAException.html" title="class in bitronix.tm.internal">BitronixXAException</A></B></TD>
+<TD>Subclass of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAException</CODE></A> supporting nested <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A>s.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/internal/TransactionTimeoutException.html" title="class in bitronix.tm.internal">TransactionTimeoutException</A></B></TD>
+<TD>Thrown when a transaction times out.</TD>
+</TR>
+</TABLE>
+
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package bitronix.tm.internal Description
+</H2>
+
+<P>
+<p>
+ Internal implementation details.
+ </p>
+<P>
+
+<P>
+<DL>
+</DL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/gui/package-summary.html"><B>PREV PACKAGE</B></A>
+ <A HREF="../../../bitronix/tm/jndi/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/package-tree.html b/doc/api/bitronix/tm/internal/package-tree.html
new file mode 100644
index 0000000..57c679a
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/package-tree.html
@@ -0,0 +1,180 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.internal Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.internal Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/gui/package-tree.html"><B>PREV</B></A>
+ <A HREF="../../../bitronix/tm/jndi/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package bitronix.tm.internal
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">bitronix.tm.internal.<A HREF="../../../bitronix/tm/internal/ThreadContext.html" title="class in bitronix.tm.internal"><B>ThreadContext</B></A><LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><B>Throwable</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"> [...]
+<UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><B>Exception</B></A><UL>
+<LI TYPE="circle">javax.transaction.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicCommitException.html?is-external=true" title="class or interface in javax.transaction"><B>HeuristicCommitException</B></A><UL>
+<LI TYPE="circle">bitronix.tm.internal.<A HREF="../../../bitronix/tm/internal/BitronixHeuristicCommitException.html" title="class in bitronix.tm.internal"><B>BitronixHeuristicCommitException</B></A></UL>
+<LI TYPE="circle">javax.transaction.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicMixedException.html?is-external=true" title="class or interface in javax.transaction"><B>HeuristicMixedException</B></A><UL>
+<LI TYPE="circle">bitronix.tm.internal.<A HREF="../../../bitronix/tm/internal/BitronixHeuristicMixedException.html" title="class in bitronix.tm.internal"><B>BitronixHeuristicMixedException</B></A></UL>
+<LI TYPE="circle">javax.transaction.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicRollbackException.html?is-external=true" title="class or interface in javax.transaction"><B>HeuristicRollbackException</B></A><UL>
+<LI TYPE="circle">bitronix.tm.internal.<A HREF="../../../bitronix/tm/internal/BitronixHeuristicRollbackException.html" title="class in bitronix.tm.internal"><B>BitronixHeuristicRollbackException</B></A></UL>
+<LI TYPE="circle">javax.transaction.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/RollbackException.html?is-external=true" title="class or interface in javax.transaction"><B>RollbackException</B></A><UL>
+<LI TYPE="circle">bitronix.tm.internal.<A HREF="../../../bitronix/tm/internal/BitronixRollbackException.html" title="class in bitronix.tm.internal"><B>BitronixRollbackException</B></A></UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang"><B>RuntimeException</B></A><UL>
+<LI TYPE="circle">bitronix.tm.internal.<A HREF="../../../bitronix/tm/internal/BitronixRuntimeException.html" title="class in bitronix.tm.internal"><B>BitronixRuntimeException</B></A></UL>
+<LI TYPE="circle">javax.transaction.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction"><B>SystemException</B></A><UL>
+<LI TYPE="circle">bitronix.tm.internal.<A HREF="../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal"><B>BitronixSystemException</B></A><UL>
+<LI TYPE="circle">bitronix.tm.internal.<A HREF="../../../bitronix/tm/internal/BitronixMultiSystemException.html" title="class in bitronix.tm.internal"><B>BitronixMultiSystemException</B></A><LI TYPE="circle">bitronix.tm.internal.<A HREF="../../../bitronix/tm/internal/BitronixRollbackSystemException.html" title="class in bitronix.tm.internal"><B>BitronixRollbackSystemException</B></A></UL>
+</UL>
+<LI TYPE="circle">bitronix.tm.internal.<A HREF="../../../bitronix/tm/internal/TransactionTimeoutException.html" title="class in bitronix.tm.internal"><B>TransactionTimeoutException</B></A><LI TYPE="circle">javax.transaction.xa.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa"><B>XAException</B></A><UL>
+<LI TYPE="circle">bitronix.tm.internal.<A HREF="../../../bitronix/tm/internal/BitronixXAException.html" title="class in bitronix.tm.internal"><B>BitronixXAException</B></A></UL>
+</UL>
+</UL>
+<LI TYPE="circle">bitronix.tm.internal.<A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><B>XAResourceHolderState</B></A><LI TYPE="circle">bitronix.tm.internal.<A HREF="../../../bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal"><B>XAResourceManager</B></A></UL>
+</UL>
+<H2>
+Interface Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">bitronix.tm.internal.<A HREF="../../../bitronix/tm/internal/TransactionStatusChangeListener.html" title="interface in bitronix.tm.internal"><B>TransactionStatusChangeListener</B></A></UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/gui/package-tree.html"><B>PREV</B></A>
+ <A HREF="../../../bitronix/tm/jndi/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/internal/package-use.html b/doc/api/bitronix/tm/internal/package-use.html
new file mode 100644
index 0000000..b926460
--- /dev/null
+++ b/doc/api/bitronix/tm/internal/package-use.html
@@ -0,0 +1,370 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Package bitronix.tm.internal (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Package bitronix.tm.internal (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>bitronix.tm.internal</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm"><B>bitronix.tm</B></A></TD>
+<TD>
+ JTA interfaces implementations and global services. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.internal"><B>bitronix.tm.internal</B></A></TD>
+<TD>
+ Internal implementation details. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.recovery"><B>bitronix.tm.recovery</B></A></TD>
+<TD>
+ Recovery logic. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.common"><B>bitronix.tm.resource.common</B></A></TD>
+<TD>
+ Resource management code common across all resource types. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.ehcache"><B>bitronix.tm.resource.ehcache</B></A></TD>
+<TD>
+ Ehcache specific resource management code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jdbc"><B>bitronix.tm.resource.jdbc</B></A></TD>
+<TD>
+ JDBC specific resource management code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jms"><B>bitronix.tm.resource.jms</B></A></TD>
+<TD>
+ Synchronous JMS specific resource management code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.twopc"><B>bitronix.tm.twopc</B></A></TD>
+<TD>
+ Two-phase commit logic. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.twopc.executor"><B>bitronix.tm.twopc.executor</B></A></TD>
+<TD>
+ Two-phase commit commands executors. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A> used by <A HREF="../../../bitronix/tm/package-summary.html">bitronix.tm</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/internal/class-use/BitronixSystemException.html#bitronix.tm"><B>BitronixSystemException</B></A></B>
+
+<BR>
+ Subclass of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction"><CODE>SystemException</CODE></A> supporting nested <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A>s.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/internal/class-use/TransactionStatusChangeListener.html#bitronix.tm"><B>TransactionStatusChangeListener</B></A></B>
+
+<BR>
+ <A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm"><CODE>BitronixTransaction</CODE></A> status change listener interface.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/internal/class-use/XAResourceManager.html#bitronix.tm"><B>XAResourceManager</B></A></B>
+
+<BR>
+ Every <A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm"><CODE>BitronixTransaction</CODE></A> contains an instance of this class that is used to register
+ and keep track of resources enlisted in a transaction.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.internal"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A> used by <A HREF="../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/internal/class-use/BitronixSystemException.html#bitronix.tm.internal"><B>BitronixSystemException</B></A></B>
+
+<BR>
+ Subclass of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction"><CODE>SystemException</CODE></A> supporting nested <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A>s.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/internal/class-use/XAResourceHolderState.html#bitronix.tm.internal"><B>XAResourceHolderState</B></A></B>
+
+<BR>
+ <A HREF="../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> state container.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.recovery"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A> used by <A HREF="../../../bitronix/tm/recovery/package-summary.html">bitronix.tm.recovery</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/internal/class-use/XAResourceHolderState.html#bitronix.tm.recovery"><B>XAResourceHolderState</B></A></B>
+
+<BR>
+ <A HREF="../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> state container.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.common"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A> used by <A HREF="../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/internal/class-use/BitronixSystemException.html#bitronix.tm.resource.common"><B>BitronixSystemException</B></A></B>
+
+<BR>
+ Subclass of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction"><CODE>SystemException</CODE></A> supporting nested <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A>s.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/internal/class-use/XAResourceHolderState.html#bitronix.tm.resource.common"><B>XAResourceHolderState</B></A></B>
+
+<BR>
+ <A HREF="../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> state container.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.ehcache"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A> used by <A HREF="../../../bitronix/tm/resource/ehcache/package-summary.html">bitronix.tm.resource.ehcache</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/internal/class-use/XAResourceHolderState.html#bitronix.tm.resource.ehcache"><B>XAResourceHolderState</B></A></B>
+
+<BR>
+ <A HREF="../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> state container.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jdbc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A> used by <A HREF="../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/internal/class-use/XAResourceHolderState.html#bitronix.tm.resource.jdbc"><B>XAResourceHolderState</B></A></B>
+
+<BR>
+ <A HREF="../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> state container.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jms"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A> used by <A HREF="../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/internal/class-use/XAResourceHolderState.html#bitronix.tm.resource.jms"><B>XAResourceHolderState</B></A></B>
+
+<BR>
+ <A HREF="../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> state container.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.twopc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A> used by <A HREF="../../../bitronix/tm/twopc/package-summary.html">bitronix.tm.twopc</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/internal/class-use/BitronixSystemException.html#bitronix.tm.twopc"><B>BitronixSystemException</B></A></B>
+
+<BR>
+ Subclass of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction"><CODE>SystemException</CODE></A> supporting nested <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><CODE>Throwable</CODE></A>s.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/internal/class-use/XAResourceHolderState.html#bitronix.tm.twopc"><B>XAResourceHolderState</B></A></B>
+
+<BR>
+ <A HREF="../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> state container.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/internal/class-use/XAResourceManager.html#bitronix.tm.twopc"><B>XAResourceManager</B></A></B>
+
+<BR>
+ Every <A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm"><CODE>BitronixTransaction</CODE></A> contains an instance of this class that is used to register
+ and keep track of resources enlisted in a transaction.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.twopc.executor"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A> used by <A HREF="../../../bitronix/tm/twopc/executor/package-summary.html">bitronix.tm.twopc.executor</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/internal/class-use/XAResourceHolderState.html#bitronix.tm.twopc.executor"><B>XAResourceHolderState</B></A></B>
+
+<BR>
+ <A HREF="../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> state container.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/internal/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/jndi/BitronixContext.html b/doc/api/bitronix/tm/jndi/BitronixContext.html
new file mode 100644
index 0000000..0ca4102
--- /dev/null
+++ b/doc/api/bitronix/tm/jndi/BitronixContext.html
@@ -0,0 +1,1031 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:03 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+BitronixContext (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="BitronixContext (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixContext.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../bitronix/tm/jndi/BitronixInitialContextFactory.html" title="class in bitronix.tm.jndi"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/jndi/BitronixContext.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixContext.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.jndi</FONT>
+<BR>
+Class BitronixContext</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.jndi.BitronixContext</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>BitronixContext</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></DL>
+</PRE>
+
+<P>
+Implementation of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> that allows lookup of transaction manager
+ and registered resources.
+ <p>This implementation is trivial as only the <code>lookup</code> methods are implemented,
+ all the other ones will throw a <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/OperationNotSupportedException.html?is-external=true" title="class or interface in javax.naming"><CODE>OperationNotSupportedException</CODE></A>.</p>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../bitronix/tm/jndi/BitronixInitialContextFactory.html" title="class in bitronix.tm.jndi"><CODE>BitronixInitialContextFactory</CODE></A></DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_javax.naming.Context"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface javax.naming.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#APPLET" title="class or interface in javax.naming">APPLET</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#AUTHORITATIVE" title="class or interface in javax.naming">AUTHORITATIVE</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#BATCHSIZE" title="class or interface in javax.naming">BATCHSIZE</A [...]
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html#BitronixContext()">BitronixContext</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html#addToEnvironment(java.lang.String, java.lang.Object)">addToEnvironment</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> o)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html#bind(javax.naming.Name, java.lang.Object)">bind</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> o)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html#bind(java.lang.String, java.lang.Object)">bind</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> o)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html#close()">close</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html#composeName(javax.naming.Name, javax.naming.Name)">composeName</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name1)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html#composeName(java.lang.String, java.lang.String)">composeName</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s1)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html#createSubcontext(javax.naming.Name)">createSubcontext</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html#createSubcontext(java.lang.String)">createSubcontext</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html#destroySubcontext(javax.naming.Name)">destroySubcontext</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html#destroySubcontext(java.lang.String)">destroySubcontext</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html#getEnvironment()">getEnvironment</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html#getNameInNamespace()">getNameInNamespace</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NameParser.html?is-external=true" title="class or interface in javax.naming">NameParser</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html#getNameParser(javax.naming.Name)">getNameParser</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NameParser.html?is-external=true" title="class or interface in javax.naming">NameParser</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html#getNameParser(java.lang.String)">getNameParser</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingEnumeration.html?is-external=true" title="class or interface in javax.naming">NamingEnumeration</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html#list(javax.naming.Name)">list</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingEnumeration.html?is-external=true" title="class or interface in javax.naming">NamingEnumeration</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html#list(java.lang.String)">list</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingEnumeration.html?is-external=true" title="class or interface in javax.naming">NamingEnumeration</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html#listBindings(javax.naming.Name)">listBindings</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingEnumeration.html?is-external=true" title="class or interface in javax.naming">NamingEnumeration</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html#listBindings(java.lang.String)">listBindings</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html#lookup(javax.naming.Name)">lookup</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html#lookup(java.lang.String)">lookup</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html#lookupLink(javax.naming.Name)">lookupLink</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html#lookupLink(java.lang.String)">lookupLink</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html#rebind(javax.naming.Name, java.lang.Object)">rebind</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> o)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html#rebind(java.lang.String, java.lang.Object)">rebind</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> o)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html#removeFromEnvironment(java.lang.String)">removeFromEnvironment</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html#rename(javax.naming.Name, javax.naming.Name)">rename</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name1)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html#rename(java.lang.String, java.lang.String)">rename</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s1)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html#unbind(javax.naming.Name)">unbind</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html#unbind(java.lang.String)">unbind</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="BitronixContext()"><!-- --></A><H3>
+BitronixContext</H3>
+<PRE>
+public <B>BitronixContext</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public void <B>close</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#close()" title="class or interface in javax.naming">close</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="lookup(javax.naming.Name)"><!-- --></A><H3>
+lookup</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>lookup</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#lookup(javax.naming.Name)" title="class or interface in javax.naming">lookup</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="lookup(java.lang.String)"><!-- --></A><H3>
+lookup</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>lookup</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#lookup(java.lang.String)" title="class or interface in javax.naming">lookup</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="bind(javax.naming.Name, java.lang.Object)"><!-- --></A><H3>
+bind</H3>
+<PRE>
+public void <B>bind</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> o)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#bind(javax.naming.Name, java.lang.Object)" title="class or interface in javax.naming">bind</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="bind(java.lang.String, java.lang.Object)"><!-- --></A><H3>
+bind</H3>
+<PRE>
+public void <B>bind</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> o)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#bind(java.lang.String, java.lang.Object)" title="class or interface in javax.naming">bind</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="rebind(javax.naming.Name, java.lang.Object)"><!-- --></A><H3>
+rebind</H3>
+<PRE>
+public void <B>rebind</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> o)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#rebind(javax.naming.Name, java.lang.Object)" title="class or interface in javax.naming">rebind</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="rebind(java.lang.String, java.lang.Object)"><!-- --></A><H3>
+rebind</H3>
+<PRE>
+public void <B>rebind</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> o)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#rebind(java.lang.String, java.lang.Object)" title="class or interface in javax.naming">rebind</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="unbind(javax.naming.Name)"><!-- --></A><H3>
+unbind</H3>
+<PRE>
+public void <B>unbind</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#unbind(javax.naming.Name)" title="class or interface in javax.naming">unbind</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="unbind(java.lang.String)"><!-- --></A><H3>
+unbind</H3>
+<PRE>
+public void <B>unbind</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#unbind(java.lang.String)" title="class or interface in javax.naming">unbind</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="rename(javax.naming.Name, javax.naming.Name)"><!-- --></A><H3>
+rename</H3>
+<PRE>
+public void <B>rename</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name1)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#rename(javax.naming.Name, javax.naming.Name)" title="class or interface in javax.naming">rename</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="rename(java.lang.String, java.lang.String)"><!-- --></A><H3>
+rename</H3>
+<PRE>
+public void <B>rename</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s1)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#rename(java.lang.String, java.lang.String)" title="class or interface in javax.naming">rename</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="list(javax.naming.Name)"><!-- --></A><H3>
+list</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingEnumeration.html?is-external=true" title="class or interface in javax.naming">NamingEnumeration</A> <B>list</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#list(javax.naming.Name)" title="class or interface in javax.naming">list</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="list(java.lang.String)"><!-- --></A><H3>
+list</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingEnumeration.html?is-external=true" title="class or interface in javax.naming">NamingEnumeration</A> <B>list</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#list(java.lang.String)" title="class or interface in javax.naming">list</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="listBindings(javax.naming.Name)"><!-- --></A><H3>
+listBindings</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingEnumeration.html?is-external=true" title="class or interface in javax.naming">NamingEnumeration</A> <B>listBindings</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#listBindings(javax.naming.Name)" title="class or interface in javax.naming">listBindings</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="listBindings(java.lang.String)"><!-- --></A><H3>
+listBindings</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingEnumeration.html?is-external=true" title="class or interface in javax.naming">NamingEnumeration</A> <B>listBindings</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#listBindings(java.lang.String)" title="class or interface in javax.naming">listBindings</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="destroySubcontext(javax.naming.Name)"><!-- --></A><H3>
+destroySubcontext</H3>
+<PRE>
+public void <B>destroySubcontext</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#destroySubcontext(javax.naming.Name)" title="class or interface in javax.naming">destroySubcontext</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="destroySubcontext(java.lang.String)"><!-- --></A><H3>
+destroySubcontext</H3>
+<PRE>
+public void <B>destroySubcontext</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#destroySubcontext(java.lang.String)" title="class or interface in javax.naming">destroySubcontext</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createSubcontext(javax.naming.Name)"><!-- --></A><H3>
+createSubcontext</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A> <B>createSubcontext</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#createSubcontext(javax.naming.Name)" title="class or interface in javax.naming">createSubcontext</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createSubcontext(java.lang.String)"><!-- --></A><H3>
+createSubcontext</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A> <B>createSubcontext</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#createSubcontext(java.lang.String)" title="class or interface in javax.naming">createSubcontext</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="lookupLink(javax.naming.Name)"><!-- --></A><H3>
+lookupLink</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>lookupLink</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#lookupLink(javax.naming.Name)" title="class or interface in javax.naming">lookupLink</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="lookupLink(java.lang.String)"><!-- --></A><H3>
+lookupLink</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>lookupLink</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#lookupLink(java.lang.String)" title="class or interface in javax.naming">lookupLink</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNameParser(javax.naming.Name)"><!-- --></A><H3>
+getNameParser</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NameParser.html?is-external=true" title="class or interface in javax.naming">NameParser</A> <B>getNameParser</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#getNameParser(javax.naming.Name)" title="class or interface in javax.naming">getNameParser</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNameParser(java.lang.String)"><!-- --></A><H3>
+getNameParser</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NameParser.html?is-external=true" title="class or interface in javax.naming">NameParser</A> <B>getNameParser</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#getNameParser(java.lang.String)" title="class or interface in javax.naming">getNameParser</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="composeName(javax.naming.Name, javax.naming.Name)"><!-- --></A><H3>
+composeName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> <B>composeName</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> name1)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#composeName(javax.naming.Name, javax.naming.Name)" title="class or interface in javax.naming">composeName</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="composeName(java.lang.String, java.lang.String)"><!-- --></A><H3>
+composeName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>composeName</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s1)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#composeName(java.lang.String, java.lang.String)" title="class or interface in javax.naming">composeName</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addToEnvironment(java.lang.String, java.lang.Object)"><!-- --></A><H3>
+addToEnvironment</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>addToEnvironment</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> o)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#addToEnvironment(java.lang.String, java.lang.Object)" title="class or interface in javax.naming">addToEnvironment</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeFromEnvironment(java.lang.String)"><!-- --></A><H3>
+removeFromEnvironment</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>removeFromEnvironment</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#removeFromEnvironment(java.lang.String)" title="class or interface in javax.naming">removeFromEnvironment</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getEnvironment()"><!-- --></A><H3>
+getEnvironment</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</A> <B>getEnvironment</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#getEnvironment()" title="class or interface in javax.naming">getEnvironment</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNameInNamespace()"><!-- --></A><H3>
+getNameInNamespace</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getNameInNamespace</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#getNameInNamespace()" title="class or interface in javax.naming">getNameInNamespace</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixContext.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../bitronix/tm/jndi/BitronixInitialContextFactory.html" title="class in bitronix.tm.jndi"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/jndi/BitronixContext.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixContext.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/jndi/BitronixInitialContextFactory.html b/doc/api/bitronix/tm/jndi/BitronixInitialContextFactory.html
new file mode 100644
index 0000000..f511b2b
--- /dev/null
+++ b/doc/api/bitronix/tm/jndi/BitronixInitialContextFactory.html
@@ -0,0 +1,309 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+BitronixInitialContextFactory (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="BitronixInitialContextFactory (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixInitialContextFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/jndi/BitronixInitialContextFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixInitialContextFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.jndi</FONT>
+<BR>
+Class BitronixInitialContextFactory</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.jndi.BitronixInitialContextFactory</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/InitialContextFactory.html?is-external=true" title="class or interface in javax.naming.spi">InitialContextFactory</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>BitronixInitialContextFactory</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/InitialContextFactory.html?is-external=true" title="class or interface in javax.naming.spi">InitialContextFactory</A></DL>
+</PRE>
+
+<P>
+Implementation of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/InitialContextFactory.html?is-external=true" title="class or interface in javax.naming.spi"><CODE>InitialContextFactory</CODE></A> that allows lookup of transaction manager
+ and registered resources.
+ <p>
+ The easiest way to use this provider is to create a <code>jndi.properties</code> file
+ in your classpath with this content:
+ <pre>java.naming.factory.initial=bitronix.tm.jndi.BitronixInitialContextFactory</pre>
+ Alternatively, you can create a <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/InitialContext.html?is-external=true" title="class or interface in javax.naming"><CODE>InitialContext</CODE></A> object with an environment
+ pointing to this class:
+ <pre>
+ Hashtable env = new Hashtable();
+ env.put(Context.INITIAL_CONTEXT_FACTORY, "bitronix.tm.jndi.BitronixInitialContextFactory");
+ Context ctx = new InitialContext(env);
+ </pre>
+ </p>
+ <p>The transaction manager can be looked up at the standard URL <code>java:comp/UserTransaction</code>
+ while resources can be looked up using their unique name as set in
+ <A HREF="../../../bitronix/tm/resource/common/ResourceBean.html#getUniqueName()"><CODE>ResourceBean.getUniqueName()</CODE></A>.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi"><CODE>BitronixContext</CODE></A></DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixInitialContextFactory.html#BitronixInitialContextFactory()">BitronixInitialContextFactory</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixInitialContextFactory.html#getInitialContext(java.util.Hashtable)">getInitialContext</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</A> hashtable)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/jndi/BitronixInitialContextFactory.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="BitronixInitialContextFactory()"><!-- --></A><H3>
+BitronixInitialContextFactory</H3>
+<PRE>
+public <B>BitronixInitialContextFactory</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getInitialContext(java.util.Hashtable)"><!-- --></A><H3>
+getInitialContext</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A> <B>getInitialContext</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</A> hashtable)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/InitialContextFactory.html?is-external=true#getInitialContext(java.util.Hashtable)" title="class or interface in javax.naming.spi">getInitialContext</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/InitialContextFactory.html?is-external=true" title="class or interface in javax.naming.spi">InitialContextFactory</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BitronixInitialContextFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/jndi/BitronixInitialContextFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixInitialContextFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/jndi/class-use/BitronixContext.html b/doc/api/bitronix/tm/jndi/class-use/BitronixContext.html
new file mode 100644
index 0000000..3f9bd72
--- /dev/null
+++ b/doc/api/bitronix/tm/jndi/class-use/BitronixContext.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.jndi.BitronixContext (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.jndi.BitronixContext (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/jndi//class-useBitronixContext.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixContext.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.jndi.BitronixContext</B></H2>
+</CENTER>
+No usage of bitronix.tm.jndi.BitronixContext
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/jndi//class-useBitronixContext.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixContext.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/jndi/class-use/BitronixInitialContextFactory.html b/doc/api/bitronix/tm/jndi/class-use/BitronixInitialContextFactory.html
new file mode 100644
index 0000000..9ed4353
--- /dev/null
+++ b/doc/api/bitronix/tm/jndi/class-use/BitronixInitialContextFactory.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.jndi.BitronixInitialContextFactory (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.jndi.BitronixInitialContextFactory (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/jndi/BitronixInitialContextFactory.html" title="class in bitronix.tm.jndi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/jndi//class-useBitronixInitialContextFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixInitialContextFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.jndi.BitronixInitialContextFactory</B></H2>
+</CENTER>
+No usage of bitronix.tm.jndi.BitronixInitialContextFactory
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/jndi/BitronixInitialContextFactory.html" title="class in bitronix.tm.jndi"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/jndi//class-useBitronixInitialContextFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BitronixInitialContextFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/jndi/package-frame.html b/doc/api/bitronix/tm/jndi/package-frame.html
new file mode 100644
index 0000000..d30133c
--- /dev/null
+++ b/doc/api/bitronix/tm/jndi/package-frame.html
@@ -0,0 +1,35 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.jndi (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../bitronix/tm/jndi/package-summary.html" target="classFrame">bitronix.tm.jndi</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="BitronixContext.html" title="class in bitronix.tm.jndi" target="classFrame">BitronixContext</A>
+<BR>
+<A HREF="BitronixInitialContextFactory.html" title="class in bitronix.tm.jndi" target="classFrame">BitronixInitialContextFactory</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/jndi/package-summary.html b/doc/api/bitronix/tm/jndi/package-summary.html
new file mode 100644
index 0000000..3b5a8b5
--- /dev/null
+++ b/doc/api/bitronix/tm/jndi/package-summary.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.jndi (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.jndi (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/internal/package-summary.html"><B>PREV PACKAGE</B></A>
+ <A HREF="../../../bitronix/tm/journal/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/jndi/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package bitronix.tm.jndi
+</H2>
+
+ JNDI provider implementation that allows looking up transaction manager and resources.
+<P>
+<B>See:</B>
+<BR>
+ <A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A></B></TD>
+<TD>Implementation of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> that allows lookup of transaction manager
+ and registered resources.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/jndi/BitronixInitialContextFactory.html" title="class in bitronix.tm.jndi">BitronixInitialContextFactory</A></B></TD>
+<TD>Implementation of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/InitialContextFactory.html?is-external=true" title="class or interface in javax.naming.spi"><CODE>InitialContextFactory</CODE></A> that allows lookup of transaction manager
+ and registered resources.</TD>
+</TR>
+</TABLE>
+
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package bitronix.tm.jndi Description
+</H2>
+
+<P>
+<p>
+ JNDI provider implementation that allows looking up transaction manager and resources.
+ </p>
+<P>
+
+<P>
+<DL>
+</DL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/internal/package-summary.html"><B>PREV PACKAGE</B></A>
+ <A HREF="../../../bitronix/tm/journal/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/jndi/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/jndi/package-tree.html b/doc/api/bitronix/tm/jndi/package-tree.html
new file mode 100644
index 0000000..ae318ee
--- /dev/null
+++ b/doc/api/bitronix/tm/jndi/package-tree.html
@@ -0,0 +1,156 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.jndi Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.jndi Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/internal/package-tree.html"><B>PREV</B></A>
+ <A HREF="../../../bitronix/tm/journal/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/jndi/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package bitronix.tm.jndi
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">bitronix.tm.jndi.<A HREF="../../../bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi"><B>BitronixContext</B></A> (implements javax.naming.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A>)
+<LI TYPE="circle">bitronix.tm.jndi.<A HREF="../../../bitronix/tm/jndi/BitronixInitialContextFactory.html" title="class in bitronix.tm.jndi"><B>BitronixInitialContextFactory</B></A> (implements javax.naming.spi.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/InitialContextFactory.html?is-external=true" title="class or interface in javax.naming.spi">InitialContextFactory</A>)
+</UL>
+</UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/internal/package-tree.html"><B>PREV</B></A>
+ <A HREF="../../../bitronix/tm/journal/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/jndi/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/jndi/package-use.html b/doc/api/bitronix/tm/jndi/package-use.html
new file mode 100644
index 0000000..7dc9cef
--- /dev/null
+++ b/doc/api/bitronix/tm/jndi/package-use.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Package bitronix.tm.jndi (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Package bitronix.tm.jndi (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/jndi/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>bitronix.tm.jndi</B></H2>
+</CENTER>
+No usage of bitronix.tm.jndi
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/jndi/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/journal/CorruptedTransactionLogException.html b/doc/api/bitronix/tm/journal/CorruptedTransactionLogException.html
new file mode 100644
index 0000000..8509f1a
--- /dev/null
+++ b/doc/api/bitronix/tm/journal/CorruptedTransactionLogException.html
@@ -0,0 +1,248 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+CorruptedTransactionLogException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="CorruptedTransactionLogException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CorruptedTransactionLogException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../bitronix/tm/journal/DiskForceBatcherThread.html" title="class in bitronix.tm.journal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/journal/CorruptedTransactionLogException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="CorruptedTransactionLogException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.journal</FONT>
+<BR>
+Class CorruptedTransactionLogException</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">java.lang.Throwable</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">java.lang.Exception</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">java.io.IOException</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.journal.CorruptedTransactionLogException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>CorruptedTransactionLogException</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></DL>
+</PRE>
+
+<P>
+Thrown by <A HREF="../../../bitronix/tm/journal/TransactionLogCursor.html" title="class in bitronix.tm.journal"><CODE>TransactionLogCursor</CODE></A> when an integrity check fails upon reading a record.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#bitronix.tm.journal.CorruptedTransactionLogException">Serialized Form</A></DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/CorruptedTransactionLogException.html#CorruptedTransactionLogException(java.lang.String)">CorruptedTransactionLogException</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#fillInStackTrace()" title="class or interface in java.lang">fillInStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getCause()" title="class or interface in java.lang">getCause</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getLocalizedMessage()" title="class or interface in java.lang [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="CorruptedTransactionLogException(java.lang.String)"><!-- --></A><H3>
+CorruptedTransactionLogException</H3>
+<PRE>
+public <B>CorruptedTransactionLogException</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s)</PRE>
+<DL>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CorruptedTransactionLogException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../bitronix/tm/journal/DiskForceBatcherThread.html" title="class in bitronix.tm.journal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/journal/CorruptedTransactionLogException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="CorruptedTransactionLogException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/journal/DiskForceBatcherThread.html b/doc/api/bitronix/tm/journal/DiskForceBatcherThread.html
new file mode 100644
index 0000000..7c5f457
--- /dev/null
+++ b/doc/api/bitronix/tm/journal/DiskForceBatcherThread.html
@@ -0,0 +1,367 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+DiskForceBatcherThread (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="DiskForceBatcherThread (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DiskForceBatcherThread.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/journal/CorruptedTransactionLogException.html" title="class in bitronix.tm.journal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/journal/DiskForceWaitQueue.html" title="class in bitronix.tm.journal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/journal/DiskForceBatcherThread.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="DiskForceBatcherThread.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: <A HREF="#nested_classes_inherited_from_class_java.lang.Thread">NESTED</A> | <A HREF="#fields_inherited_from_class_java.lang.Thread">FIELD</A> | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.journal</FONT>
+<BR>
+Class DiskForceBatcherThread</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">java.lang.Thread</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.journal.DiskForceBatcherThread</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public final class <B>DiskForceBatcherThread</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</A></DL>
+</PRE>
+
+<P>
+Thread that executes disk force batches.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="nested_classes_inherited_from_class_java.lang.Thread"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.State.html?is-external=true" title="class or interface in java.lang">Thread.State</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.UncaughtExceptionHandler.html?is-external=true" title="class or interface in java.lang">Thread.UncaughtExceptionHandler</A></CODE></TD>
+</TR>
+</TABLE>
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_java.lang.Thread"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html?is-external=true#MAX_PRIORITY" title="class or interface in java.lang">MAX_PRIORITY</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html?is-external=true#MIN_PRIORITY" title="class or interface in java.lang">MIN_PRIORITY</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html?is-external=true#NORM_PRIORITY" title="class or interface in java.lang">NORM_PRIORITY</A></ [...]
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/DiskForceBatcherThread.html#enqueue(bitronix.tm.journal.TransactionLogAppender)">enqueue</A></B>(<A HREF="../../../bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal">TransactionLogAppender</A> tla)</CODE>
+
+<BR>
+ Add the TransactionLogAppender to the wait queue and wait until the disk force is done.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../bitronix/tm/journal/DiskForceBatcherThread.html" title="class in bitronix.tm.journal">DiskForceBatcherThread</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/DiskForceBatcherThread.html#getInstance()">getInstance</A></B>()</CODE>
+
+<BR>
+ Get the single instance of the DiskForceBatcherThread.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/DiskForceBatcherThread.html#run()">run</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/DiskForceBatcherThread.html#setAlive(boolean)">setAlive</A></B>(boolean alive)</CODE>
+
+<BR>
+ Thread will run for as long as this flag is not false.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/DiskForceBatcherThread.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Thread"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html?is-external=true#activeCount()" title="class or interface in java.lang">activeCount</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html?is-external=true#checkAccess()" title="class or interface in java.lang">checkAccess</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF= [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getInstance()"><!-- --></A><H3>
+getInstance</H3>
+<PRE>
+public static <A HREF="../../../bitronix/tm/journal/DiskForceBatcherThread.html" title="class in bitronix.tm.journal">DiskForceBatcherThread</A> <B>getInstance</B>()</PRE>
+<DL>
+<DD>Get the single instance of the DiskForceBatcherThread.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the single instance of the DiskForceBatcherThread.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAlive(boolean)"><!-- --></A><H3>
+setAlive</H3>
+<PRE>
+public void <B>setAlive</B>(boolean alive)</PRE>
+<DL>
+<DD>Thread will run for as long as this flag is not false.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>alive</CODE> - The new flag value.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="enqueue(bitronix.tm.journal.TransactionLogAppender)"><!-- --></A><H3>
+enqueue</H3>
+<PRE>
+public void <B>enqueue</B>(<A HREF="../../../bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal">TransactionLogAppender</A> tla)</PRE>
+<DL>
+<DD>Add the TransactionLogAppender to the wait queue and wait until the disk force is done.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>tla</CODE> - the TransactionLogAppender</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="run()"><!-- --></A><H3>
+run</H3>
+<PRE>
+public void <B>run</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true#run()" title="class or interface in java.lang">run</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html?is-external=true#run()" title="clas [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DiskForceBatcherThread.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/journal/CorruptedTransactionLogException.html" title="class in bitronix.tm.journal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/journal/DiskForceWaitQueue.html" title="class in bitronix.tm.journal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/journal/DiskForceBatcherThread.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="DiskForceBatcherThread.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: <A HREF="#nested_classes_inherited_from_class_java.lang.Thread">NESTED</A> | <A HREF="#fields_inherited_from_class_java.lang.Thread">FIELD</A> | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/journal/DiskForceWaitQueue.html b/doc/api/bitronix/tm/journal/DiskForceWaitQueue.html
new file mode 100644
index 0000000..1bd2ff4
--- /dev/null
+++ b/doc/api/bitronix/tm/journal/DiskForceWaitQueue.html
@@ -0,0 +1,382 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+DiskForceWaitQueue (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="DiskForceWaitQueue (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DiskForceWaitQueue.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/journal/DiskForceBatcherThread.html" title="class in bitronix.tm.journal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/journal/DiskJournal.html" title="class in bitronix.tm.journal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/journal/DiskForceWaitQueue.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="DiskForceWaitQueue.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.journal</FONT>
+<BR>
+Class DiskForceWaitQueue</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.journal.DiskForceWaitQueue</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>DiskForceWaitQueue</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+<A HREF="../../../bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal"><CODE>TransactionLogAppender</CODE></A>s waiting for a disk force get enqueued here.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/DiskForceWaitQueue.html#DiskForceWaitQueue()">DiskForceWaitQueue</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/DiskForceWaitQueue.html#clear()">clear</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/DiskForceWaitQueue.html#enqueue(bitronix.tm.journal.TransactionLogAppender)">enqueue</A></B>(<A HREF="../../../bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal">TransactionLogAppender</A> tla)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal">TransactionLogAppender</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/DiskForceWaitQueue.html#head()">head</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/DiskForceWaitQueue.html#isEmpty()">isEmpty</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/DiskForceWaitQueue.html#size()">size</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/DiskForceWaitQueue.html#waitUntilNotContains(bitronix.tm.journal.TransactionLogAppender)">waitUntilNotContains</A></B>(<A HREF="../../../bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal">TransactionLogAppender</A> tla)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/DiskForceWaitQueue.html#waitUntilNotEmpty()">waitUntilNotEmpty</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="DiskForceWaitQueue()"><!-- --></A><H3>
+DiskForceWaitQueue</H3>
+<PRE>
+public <B>DiskForceWaitQueue</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="enqueue(bitronix.tm.journal.TransactionLogAppender)"><!-- --></A><H3>
+enqueue</H3>
+<PRE>
+public boolean <B>enqueue</B>(<A HREF="../../../bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal">TransactionLogAppender</A> tla)</PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if the tla was successfully enqueued, false otherwise</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="head()"><!-- --></A><H3>
+head</H3>
+<PRE>
+public <A HREF="../../../bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal">TransactionLogAppender</A> <B>head</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="clear()"><!-- --></A><H3>
+clear</H3>
+<PRE>
+public void <B>clear</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isEmpty()"><!-- --></A><H3>
+isEmpty</H3>
+<PRE>
+public boolean <B>isEmpty</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="waitUntilNotEmpty()"><!-- --></A><H3>
+waitUntilNotEmpty</H3>
+<PRE>
+public void <B>waitUntilNotEmpty</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="size()"><!-- --></A><H3>
+size</H3>
+<PRE>
+public int <B>size</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="waitUntilNotContains(bitronix.tm.journal.TransactionLogAppender)"><!-- --></A><H3>
+waitUntilNotContains</H3>
+<PRE>
+public void <B>waitUntilNotContains</B>(<A HREF="../../../bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal">TransactionLogAppender</A> tla)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</A></CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DiskForceWaitQueue.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/journal/DiskForceBatcherThread.html" title="class in bitronix.tm.journal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/journal/DiskJournal.html" title="class in bitronix.tm.journal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/journal/DiskForceWaitQueue.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="DiskForceWaitQueue.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/journal/DiskJournal.html b/doc/api/bitronix/tm/journal/DiskJournal.html
new file mode 100644
index 0000000..fd806c5
--- /dev/null
+++ b/doc/api/bitronix/tm/journal/DiskJournal.html
@@ -0,0 +1,421 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+DiskJournal (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="DiskJournal (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DiskJournal.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/journal/DiskForceWaitQueue.html" title="class in bitronix.tm.journal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/journal/DiskJournal.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="DiskJournal.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.journal</FONT>
+<BR>
+Class DiskJournal</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.journal.DiskJournal</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A>, <A HREF="../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>DiskJournal</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A></DL>
+</PRE>
+
+<P>
+Simple implementation of a journal that writes on a two-files disk log.
+ <p>Files are pre-allocated in size, never grow and when the first one is full, dangling records are copied to the
+ second file and logging starts again on the latter.</p>
+ <p>This implementation is not highly efficient but quite robust and simple. It is based on one of the implementations
+ proposed by Mike Spille.</p>
+ <p>Configurable properties are all starting with <code>bitronix.tm.journal.disk</code>.</p>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../bitronix/tm/Configuration.html" title="class in bitronix.tm"><CODE>Configuration</CODE></A>,
+<a href="http://jroller.com/page/pyrasun?entry=xa_exposed_part_iii_the">XA Exposed, Part III: The Implementor's Notebook</a></DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/DiskJournal.html#DiskJournal()">DiskJournal</A></B>()</CODE>
+
+<BR>
+ Create an uninitialized disk journal.</TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/DiskJournal.html#close()">close</A></B>()</CODE>
+
+<BR>
+ Close the disk journal and the underlying files.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/DiskJournal.html#collectDanglingRecords()">collectDanglingRecords</A></B>()</CODE>
+
+<BR>
+ Collect all dangling records of the active log file.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/DiskJournal.html#force()">force</A></B>()</CODE>
+
+<BR>
+ Force active log file to synchronize with the underlying disk device.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/DiskJournal.html#log(int, bitronix.tm.utils.Uid, java.util.Set)">log</A></B>(int status,
+ <A HREF="../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> gtrid,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A> uniqueNames)</CODE>
+
+<BR>
+ Log a new transaction status to journal.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/DiskJournal.html#open()">open</A></B>()</CODE>
+
+<BR>
+ Open the disk journal.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/DiskJournal.html#shutdown()">shutdown</A></B>()</CODE>
+
+<BR>
+ Shutdown the service and free all held resources.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="DiskJournal()"><!-- --></A><H3>
+DiskJournal</H3>
+<PRE>
+public <B>DiskJournal</B>()</PRE>
+<DL>
+<DD>Create an uninitialized disk journal. You must call open() prior you can use it.
+<P>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="log(int, bitronix.tm.utils.Uid, java.util.Set)"><!-- --></A><H3>
+log</H3>
+<PRE>
+public void <B>log</B>(int status,
+ <A HREF="../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> gtrid,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A> uniqueNames)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Log a new transaction status to journal. Note that the DiskJournal will not check the flow of the transaction.
+ If you call this method with erroneous data, it will be added to the journal anyway.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/journal/Journal.html#log(int, bitronix.tm.utils.Uid, java.util.Set)">log</A></CODE> in interface <CODE><A HREF="../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>status</CODE> - transaction status to log. See <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Status.html?is-external=true" title="class or interface in javax.transaction"><CODE>Status</CODE></A> constants.<DD><CODE>gtrid</CODE> - raw GTRID of the transaction.<DD><CODE>uniqueNames</CODE> - unique names of the <A HREF="../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common"><CODE>ResourceBean< [...]
+ this transaction.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - in case of disk IO failure or if the disk journal is not open.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="force()"><!-- --></A><H3>
+force</H3>
+<PRE>
+public void <B>force</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Force active log file to synchronize with the underlying disk device.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/journal/Journal.html#force()">force</A></CODE> in interface <CODE><A HREF="../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - in case of disk IO failure or if the disk journal is not open.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="open()"><!-- --></A><H3>
+open</H3>
+<PRE>
+public void <B>open</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Open the disk journal. Files are checked for integrity and DiskJournal will refuse to open corrupted log files.
+ If files are not present on disk, this method will create and pre-allocate them.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/journal/Journal.html#open()">open</A></CODE> in interface <CODE><A HREF="../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - in case of disk IO failure.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public void <B>close</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Close the disk journal and the underlying files.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/journal/Journal.html#close()">close</A></CODE> in interface <CODE><A HREF="../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - in case of disk IO failure.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="shutdown()"><!-- --></A><H3>
+shutdown</H3>
+<PRE>
+public void <B>shutdown</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../bitronix/tm/utils/Service.html#shutdown()">Service</A></CODE></B></DD>
+<DD>Shutdown the service and free all held resources.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/utils/Service.html#shutdown()">shutdown</A></CODE> in interface <CODE><A HREF="../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="collectDanglingRecords()"><!-- --></A><H3>
+collectDanglingRecords</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A> <B>collectDanglingRecords</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Collect all dangling records of the active log file.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/journal/Journal.html#collectDanglingRecords()">collectDanglingRecords</A></CODE> in interface <CODE><A HREF="../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a Map using Uid objects GTRID as key and <A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal"><CODE>TransactionLogRecord</CODE></A> as value
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - in case of disk IO failure or if the disk journal is not open.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DiskJournal.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/journal/DiskForceWaitQueue.html" title="class in bitronix.tm.journal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/journal/DiskJournal.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="DiskJournal.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/journal/Journal.html b/doc/api/bitronix/tm/journal/Journal.html
new file mode 100644
index 0000000..28e2001
--- /dev/null
+++ b/doc/api/bitronix/tm/journal/Journal.html
@@ -0,0 +1,353 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Journal (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Journal (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Journal.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/journal/DiskJournal.html" title="class in bitronix.tm.journal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/journal/NullJournal.html" title="class in bitronix.tm.journal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/journal/Journal.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Journal.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.journal</FONT>
+<BR>
+Interface Journal</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD><A HREF="../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../bitronix/tm/journal/DiskJournal.html" title="class in bitronix.tm.journal">DiskJournal</A>, <A HREF="../../../bitronix/tm/journal/NullJournal.html" title="class in bitronix.tm.journal">NullJournal</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public interface <B>Journal</B><DT>extends <A HREF="../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></DL>
+</PRE>
+
+<P>
+Transaction logs journal implementations must implement this interface to provide functionality required by the
+ transaction manager.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/Journal.html#close()">close</A></B>()</CODE>
+
+<BR>
+ Close this journal and release all underlying resources.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/Journal.html#collectDanglingRecords()">collectDanglingRecords</A></B>()</CODE>
+
+<BR>
+ Collect all dangling records of the journal, ie: COMMITTING records with no corresponding COMMITTED record.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/Journal.html#force()">force</A></B>()</CODE>
+
+<BR>
+ Force journal to synchronize with permanent storage.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/Journal.html#log(int, bitronix.tm.utils.Uid, java.util.Set)">log</A></B>(int status,
+ <A HREF="../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> gtrid,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A> uniqueNames)</CODE>
+
+<BR>
+ Log a new transaction status to journal.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/Journal.html#open()">open</A></B>()</CODE>
+
+<BR>
+ Open the journal.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.utils.Service"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from interface bitronix.tm.utils.<A HREF="../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../bitronix/tm/utils/Service.html#shutdown()">shutdown</A></CODE></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="log(int, bitronix.tm.utils.Uid, java.util.Set)"><!-- --></A><H3>
+log</H3>
+<PRE>
+void <B>log</B>(int status,
+ <A HREF="../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> gtrid,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A> uniqueNames)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Log a new transaction status to journal. Note that the journal will not check the flow of the transactions.
+ If you call this method with erroneous data, it will be added to the journal as-is.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>status</CODE> - transaction status to log.<DD><CODE>gtrid</CODE> - GTRID of the transaction.<DD><CODE>uniqueNames</CODE> - unique names of the RecoverableXAResourceProducers participating in the transaction.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="open()"><!-- --></A><H3>
+open</H3>
+<PRE>
+void <B>open</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Open the journal. Integrity should be checked and an exception should be thrown in case the journal is corrupt.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+void <B>close</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Close this journal and release all underlying resources.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="force()"><!-- --></A><H3>
+force</H3>
+<PRE>
+void <B>force</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Force journal to synchronize with permanent storage.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="collectDanglingRecords()"><!-- --></A><H3>
+collectDanglingRecords</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A> <B>collectDanglingRecords</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Collect all dangling records of the journal, ie: COMMITTING records with no corresponding COMMITTED record.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a Map using Uid objects GTRID as key and <A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal"><CODE>TransactionLogRecord</CODE></A> as value
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Journal.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/journal/DiskJournal.html" title="class in bitronix.tm.journal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/journal/NullJournal.html" title="class in bitronix.tm.journal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/journal/Journal.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Journal.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/journal/NullJournal.html b/doc/api/bitronix/tm/journal/NullJournal.html
new file mode 100644
index 0000000..3c06d62
--- /dev/null
+++ b/doc/api/bitronix/tm/journal/NullJournal.html
@@ -0,0 +1,439 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+NullJournal (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="NullJournal (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/NullJournal.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/journal/NullJournal.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="NullJournal.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.journal</FONT>
+<BR>
+Class NullJournal</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.journal.NullJournal</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A>, <A HREF="../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>NullJournal</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A></DL>
+</PRE>
+
+<P>
+No-op journal. Do not use for anything else than testing as the transaction manager cannot guarantee
+ data integrity with this journal implementation.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/NullJournal.html#NullJournal()">NullJournal</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/NullJournal.html#close()">close</A></B>()</CODE>
+
+<BR>
+ Close this journal and release all underlying resources.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/NullJournal.html#collectDanglingRecords()">collectDanglingRecords</A></B>()</CODE>
+
+<BR>
+ Collect all dangling records of the journal, ie: COMMITTING records with no corresponding COMMITTED record.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/NullJournal.html#force()">force</A></B>()</CODE>
+
+<BR>
+ Force journal to synchronize with permanent storage.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/NullJournal.html#log(int, bitronix.tm.utils.Uid, java.util.Set)">log</A></B>(int status,
+ <A HREF="../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> gtrid,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A> uniqueNames)</CODE>
+
+<BR>
+ Log a new transaction status to journal.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/NullJournal.html#open()">open</A></B>()</CODE>
+
+<BR>
+ Open the journal.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/NullJournal.html#shutdown()">shutdown</A></B>()</CODE>
+
+<BR>
+ Shutdown the service and free all held resources.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/NullJournal.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="NullJournal()"><!-- --></A><H3>
+NullJournal</H3>
+<PRE>
+public <B>NullJournal</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="log(int, bitronix.tm.utils.Uid, java.util.Set)"><!-- --></A><H3>
+log</H3>
+<PRE>
+public void <B>log</B>(int status,
+ <A HREF="../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> gtrid,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A> uniqueNames)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../bitronix/tm/journal/Journal.html#log(int, bitronix.tm.utils.Uid, java.util.Set)">Journal</A></CODE></B></DD>
+<DD>Log a new transaction status to journal. Note that the journal will not check the flow of the transactions.
+ If you call this method with erroneous data, it will be added to the journal as-is.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/journal/Journal.html#log(int, bitronix.tm.utils.Uid, java.util.Set)">log</A></CODE> in interface <CODE><A HREF="../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>status</CODE> - transaction status to log.<DD><CODE>gtrid</CODE> - GTRID of the transaction.<DD><CODE>uniqueNames</CODE> - unique names of the RecoverableXAResourceProducers participating in the transaction.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="open()"><!-- --></A><H3>
+open</H3>
+<PRE>
+public void <B>open</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../bitronix/tm/journal/Journal.html#open()">Journal</A></CODE></B></DD>
+<DD>Open the journal. Integrity should be checked and an exception should be thrown in case the journal is corrupt.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/journal/Journal.html#open()">open</A></CODE> in interface <CODE><A HREF="../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public void <B>close</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../bitronix/tm/journal/Journal.html#close()">Journal</A></CODE></B></DD>
+<DD>Close this journal and release all underlying resources.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/journal/Journal.html#close()">close</A></CODE> in interface <CODE><A HREF="../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="force()"><!-- --></A><H3>
+force</H3>
+<PRE>
+public void <B>force</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../bitronix/tm/journal/Journal.html#force()">Journal</A></CODE></B></DD>
+<DD>Force journal to synchronize with permanent storage.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/journal/Journal.html#force()">force</A></CODE> in interface <CODE><A HREF="../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="collectDanglingRecords()"><!-- --></A><H3>
+collectDanglingRecords</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A> <B>collectDanglingRecords</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../bitronix/tm/journal/Journal.html#collectDanglingRecords()">Journal</A></CODE></B></DD>
+<DD>Collect all dangling records of the journal, ie: COMMITTING records with no corresponding COMMITTED record.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/journal/Journal.html#collectDanglingRecords()">collectDanglingRecords</A></CODE> in interface <CODE><A HREF="../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a Map using Uid objects GTRID as key and <A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal"><CODE>TransactionLogRecord</CODE></A> as value
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="shutdown()"><!-- --></A><H3>
+shutdown</H3>
+<PRE>
+public void <B>shutdown</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../bitronix/tm/utils/Service.html#shutdown()">Service</A></CODE></B></DD>
+<DD>Shutdown the service and free all held resources.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/utils/Service.html#shutdown()">shutdown</A></CODE> in interface <CODE><A HREF="../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/NullJournal.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/journal/NullJournal.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="NullJournal.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/journal/TransactionLogAppender.html b/doc/api/bitronix/tm/journal/TransactionLogAppender.html
new file mode 100644
index 0000000..de64eeb
--- /dev/null
+++ b/doc/api/bitronix/tm/journal/TransactionLogAppender.html
@@ -0,0 +1,458 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+TransactionLogAppender (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="TransactionLogAppender (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TransactionLogAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/journal/NullJournal.html" title="class in bitronix.tm.journal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/journal/TransactionLogCursor.html" title="class in bitronix.tm.journal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/journal/TransactionLogAppender.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionLogAppender.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.journal</FONT>
+<BR>
+Class TransactionLogAppender</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.journal.TransactionLogAppender</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>TransactionLogAppender</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+Used to write <A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal"><CODE>TransactionLogRecord</CODE></A> objects to a log file.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogAppender.html#END_RECORD">END_RECORD</A></B></CODE>
+
+<BR>
+ int-encoded "xntB" ASCII string.</TD>
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogAppender.html#TransactionLogAppender(java.io.File, long)">TransactionLogAppender</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A> file,
+ long maxFileLength)</CODE>
+
+<BR>
+ Create an appender that will write to specified file up to the specified maximum length.</TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogAppender.html#close()">close</A></B>()</CODE>
+
+<BR>
+ Close the appender and the underlying file.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogAppender.html#doForce()">doForce</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogAppender.html#force()">force</A></B>()</CODE>
+
+<BR>
+ Force flushing the logs to disk</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/journal/TransactionLogCursor.html" title="class in bitronix.tm.journal">TransactionLogCursor</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogAppender.html#getCursor()">getCursor</A></B>()</CODE>
+
+<BR>
+ Creates a cursor on this journal file allowing iteration of its records.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal">TransactionLogHeader</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogAppender.html#getHeader()">getHeader</A></B>()</CODE>
+
+<BR>
+ Return a <A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal"><CODE>TransactionLogHeader</CODE></A> that allows reading and controlling the log file's header.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogAppender.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogAppender.html#writeLog(bitronix.tm.journal.TransactionLogRecord)">writeLog</A></B>(<A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A> tlog)</CODE>
+
+<BR>
+ Write a <A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal"><CODE>TransactionLogRecord</CODE></A> to disk.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="END_RECORD"><!-- --></A><H3>
+END_RECORD</H3>
+<PRE>
+public static final int <B>END_RECORD</B></PRE>
+<DL>
+<DD>int-encoded "xntB" ASCII string.
+ This will be useful after swapping log files since we will potentially overwrite old logs not necessarily of the
+ same size. Very useful when debugging and eventually restoring broken log files.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#bitronix.tm.journal.TransactionLogAppender.END_RECORD">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="TransactionLogAppender(java.io.File, long)"><!-- --></A><H3>
+TransactionLogAppender</H3>
+<PRE>
+public <B>TransactionLogAppender</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A> file,
+ long maxFileLength)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Create an appender that will write to specified file up to the specified maximum length.
+ All disk access are synchronized arround the RandomAccessFile object, including header calls.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>file</CODE> - the underlying File used to write to disk.<DD><CODE>maxFileLength</CODE> - size of the file on disk that can never be bypassed.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.</DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getHeader()"><!-- --></A><H3>
+getHeader</H3>
+<PRE>
+public <A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal">TransactionLogHeader</A> <B>getHeader</B>()</PRE>
+<DL>
+<DD>Return a <A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal"><CODE>TransactionLogHeader</CODE></A> that allows reading and controlling the log file's header.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>this log file's TransactionLogHeader</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="writeLog(bitronix.tm.journal.TransactionLogRecord)"><!-- --></A><H3>
+writeLog</H3>
+<PRE>
+public boolean <B>writeLog</B>(<A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A> tlog)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Write a <A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal"><CODE>TransactionLogRecord</CODE></A> to disk.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>tlog</CODE> - the record to write to disk.
+<DT><B>Returns:</B><DD>true if there was room in the log file and the log was written, false otherwise.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public void <B>close</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Close the appender and the underlying file.
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCursor()"><!-- --></A><H3>
+getCursor</H3>
+<PRE>
+public <A HREF="../../../bitronix/tm/journal/TransactionLogCursor.html" title="class in bitronix.tm.journal">TransactionLogCursor</A> <B>getCursor</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Creates a cursor on this journal file allowing iteration of its records.
+ This opens a new read-only file descriptor independent of the write-only one
+ still used for writing transaction logs.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a TransactionLogCursor.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="force()"><!-- --></A><H3>
+force</H3>
+<PRE>
+public void <B>force</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Force flushing the logs to disk
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="doForce()"><!-- --></A><H3>
+doForce</H3>
+<PRE>
+protected void <B>doForce</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TransactionLogAppender.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/journal/NullJournal.html" title="class in bitronix.tm.journal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/journal/TransactionLogCursor.html" title="class in bitronix.tm.journal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/journal/TransactionLogAppender.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionLogAppender.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/journal/TransactionLogCursor.html b/doc/api/bitronix/tm/journal/TransactionLogCursor.html
new file mode 100644
index 0000000..067a0cb
--- /dev/null
+++ b/doc/api/bitronix/tm/journal/TransactionLogCursor.html
@@ -0,0 +1,326 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+TransactionLogCursor (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="TransactionLogCursor (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TransactionLogCursor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/journal/TransactionLogCursor.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionLogCursor.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.journal</FONT>
+<BR>
+Class TransactionLogCursor</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.journal.TransactionLogCursor</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>TransactionLogCursor</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+Used to read <A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal"><CODE>TransactionLogRecord</CODE></A> objects from a log file.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogCursor.html#TransactionLogCursor(java.io.File)">TransactionLogCursor</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A> file)</CODE>
+
+<BR>
+ Create a TransactionLogCursor that will read from the specified file.</TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogCursor.html#close()">close</A></B>()</CODE>
+
+<BR>
+ Close the cursor and the underlying file</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogCursor.html#readLog()">readLog</A></B>()</CODE>
+
+<BR>
+ Fetch the next TransactionLogRecord from log, recalculating the CRC and checking it against the stored one.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogCursor.html#readLog(boolean)">readLog</A></B>(boolean skipCrcCheck)</CODE>
+
+<BR>
+ Fetch the next TransactionLogRecord from log.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="TransactionLogCursor(java.io.File)"><!-- --></A><H3>
+TransactionLogCursor</H3>
+<PRE>
+public <B>TransactionLogCursor</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A> file)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Create a TransactionLogCursor that will read from the specified file.
+ This opens a new read-only file descriptor.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>file</CODE> - the file to read logs from
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.</DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="readLog()"><!-- --></A><H3>
+readLog</H3>
+<PRE>
+public <A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A> <B>readLog</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Fetch the next TransactionLogRecord from log, recalculating the CRC and checking it against the stored one.
+ InvalidChecksumException is thrown if the check fails.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the TransactionLogRecord or null if the end of the log file has been reached
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="readLog(boolean)"><!-- --></A><H3>
+readLog</H3>
+<PRE>
+public <A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A> <B>readLog</B>(boolean skipCrcCheck)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Fetch the next TransactionLogRecord from log.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>skipCrcCheck</CODE> - if set to false, the method will thow an InvalidChecksumException if the CRC on disk does
+ not match the recalculated one. Otherwise, the CRC is not recalculated nor checked agains the stored one.
+<DT><B>Returns:</B><DD>the TransactionLogRecord or null if the end of the log file has been reached
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public void <B>close</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Close the cursor and the underlying file
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TransactionLogCursor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/journal/TransactionLogCursor.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionLogCursor.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/journal/TransactionLogHeader.html b/doc/api/bitronix/tm/journal/TransactionLogHeader.html
new file mode 100644
index 0000000..29ff21e
--- /dev/null
+++ b/doc/api/bitronix/tm/journal/TransactionLogHeader.html
@@ -0,0 +1,669 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+TransactionLogHeader (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="TransactionLogHeader (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TransactionLogHeader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/journal/TransactionLogCursor.html" title="class in bitronix.tm.journal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/journal/TransactionLogHeader.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionLogHeader.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.journal</FONT>
+<BR>
+Class TransactionLogHeader</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.journal.TransactionLogHeader</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>TransactionLogHeader</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+Used to control a log file's header.
+ <p>The physical data is read when this object is created then cached. Calling setter methods sets the header field
+ then moves the file pointer back to the previous location.</p>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static byte</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html#CLEAN_LOG_STATE">CLEAN_LOG_STATE</A></B></CODE>
+
+<BR>
+ State of the log file when it has been closed properly.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html#CURRENT_POSITION_HEADER">CURRENT_POSITION_HEADER</A></B></CODE>
+
+<BR>
+ Position of the current log position in the header.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html#FORMAT_ID_HEADER">FORMAT_ID_HEADER</A></B></CODE>
+
+<BR>
+ Position of the format ID in the header (see <A HREF="../../../bitronix/tm/BitronixXid.html#FORMAT_ID"><CODE>BitronixXid.FORMAT_ID</CODE></A>).</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html#HEADER_LENGTH">HEADER_LENGTH</A></B></CODE>
+
+<BR>
+ Total length of the header.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html#STATE_HEADER">STATE_HEADER</A></B></CODE>
+
+<BR>
+ Position of the log file state in the header.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html#TIMESTAMP_HEADER">TIMESTAMP_HEADER</A></B></CODE>
+
+<BR>
+ Position of the timestamp in the header.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static byte</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html#UNCLEAN_LOG_STATE">UNCLEAN_LOG_STATE</A></B></CODE>
+
+<BR>
+ State of the log file when it hasn't been closed properly or it is still open.</TD>
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html#TransactionLogHeader(java.io.RandomAccessFile, long)">TransactionLogHeader</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/RandomAccessFile.html?is-external=true" title="class or interface in java.io">RandomAccessFile</A> randomAccessFile,
+ long maxFileLength)</CODE>
+
+<BR>
+ TransactionLogHeader are used to control headers of the specified RandomAccessFile.</TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html#getFormatId()">getFormatId</A></B>()</CODE>
+
+<BR>
+ Get FORMAT_ID_HEADER.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html#getPosition()">getPosition</A></B>()</CODE>
+
+<BR>
+ Get CURRENT_POSITION_HEADER.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> byte</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html#getState()">getState</A></B>()</CODE>
+
+<BR>
+ Get STATE_HEADER.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html#getTimestamp()">getTimestamp</A></B>()</CODE>
+
+<BR>
+ Get TIMESTAMP_HEADER.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html#goAhead(long)">goAhead</A></B>(long distance)</CODE>
+
+<BR>
+ Advance CURRENT_POSITION_HEADER.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html#rewind()">rewind</A></B>()</CODE>
+
+<BR>
+ Rewind CURRENT_POSITION_HEADER back to the beginning of the file.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html#setFormatId(int)">setFormatId</A></B>(int formatId)</CODE>
+
+<BR>
+ Set FORMAT_ID_HEADER.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html#setPosition(long)">setPosition</A></B>(long position)</CODE>
+
+<BR>
+ Set CURRENT_POSITION_HEADER.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html#setState(byte)">setState</A></B>(byte state)</CODE>
+
+<BR>
+ Set STATE_HEADER.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html#setTimestamp(long)">setTimestamp</A></B>(long timestamp)</CODE>
+
+<BR>
+ Set TIMESTAMP_HEADER.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ Create human-readable String representation.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="FORMAT_ID_HEADER"><!-- --></A><H3>
+FORMAT_ID_HEADER</H3>
+<PRE>
+public static final int <B>FORMAT_ID_HEADER</B></PRE>
+<DL>
+<DD>Position of the format ID in the header (see <A HREF="../../../bitronix/tm/BitronixXid.html#FORMAT_ID"><CODE>BitronixXid.FORMAT_ID</CODE></A>).
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#bitronix.tm.journal.TransactionLogHeader.FORMAT_ID_HEADER">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="TIMESTAMP_HEADER"><!-- --></A><H3>
+TIMESTAMP_HEADER</H3>
+<PRE>
+public static final int <B>TIMESTAMP_HEADER</B></PRE>
+<DL>
+<DD>Position of the timestamp in the header.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#bitronix.tm.journal.TransactionLogHeader.TIMESTAMP_HEADER">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="STATE_HEADER"><!-- --></A><H3>
+STATE_HEADER</H3>
+<PRE>
+public static final int <B>STATE_HEADER</B></PRE>
+<DL>
+<DD>Position of the log file state in the header.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#bitronix.tm.journal.TransactionLogHeader.STATE_HEADER">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="CURRENT_POSITION_HEADER"><!-- --></A><H3>
+CURRENT_POSITION_HEADER</H3>
+<PRE>
+public static final int <B>CURRENT_POSITION_HEADER</B></PRE>
+<DL>
+<DD>Position of the current log position in the header.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#bitronix.tm.journal.TransactionLogHeader.CURRENT_POSITION_HEADER">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="HEADER_LENGTH"><!-- --></A><H3>
+HEADER_LENGTH</H3>
+<PRE>
+public static final int <B>HEADER_LENGTH</B></PRE>
+<DL>
+<DD>Total length of the header.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#bitronix.tm.journal.TransactionLogHeader.HEADER_LENGTH">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="CLEAN_LOG_STATE"><!-- --></A><H3>
+CLEAN_LOG_STATE</H3>
+<PRE>
+public static final byte <B>CLEAN_LOG_STATE</B></PRE>
+<DL>
+<DD>State of the log file when it has been closed properly.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#bitronix.tm.journal.TransactionLogHeader.CLEAN_LOG_STATE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="UNCLEAN_LOG_STATE"><!-- --></A><H3>
+UNCLEAN_LOG_STATE</H3>
+<PRE>
+public static final byte <B>UNCLEAN_LOG_STATE</B></PRE>
+<DL>
+<DD>State of the log file when it hasn't been closed properly or it is still open.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#bitronix.tm.journal.TransactionLogHeader.UNCLEAN_LOG_STATE">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="TransactionLogHeader(java.io.RandomAccessFile, long)"><!-- --></A><H3>
+TransactionLogHeader</H3>
+<PRE>
+public <B>TransactionLogHeader</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/RandomAccessFile.html?is-external=true" title="class or interface in java.io">RandomAccessFile</A> randomAccessFile,
+ long maxFileLength)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>TransactionLogHeader are used to control headers of the specified RandomAccessFile.
+ All calls to setters are synchronized on the passed-in RandomAccessFile.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>randomAccessFile</CODE> - the random access file to read from.<DD><CODE>maxFileLength</CODE> - the max file length.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.</DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getFormatId()"><!-- --></A><H3>
+getFormatId</H3>
+<PRE>
+public int <B>getFormatId</B>()</PRE>
+<DL>
+<DD>Get FORMAT_ID_HEADER.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the FORMAT_ID_HEADER value.<DT><B>See Also:</B><DD><A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html#FORMAT_ID_HEADER"><CODE>FORMAT_ID_HEADER</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTimestamp()"><!-- --></A><H3>
+getTimestamp</H3>
+<PRE>
+public long <B>getTimestamp</B>()</PRE>
+<DL>
+<DD>Get TIMESTAMP_HEADER.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the TIMESTAMP_HEADER value.<DT><B>See Also:</B><DD><A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html#TIMESTAMP_HEADER"><CODE>TIMESTAMP_HEADER</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getState()"><!-- --></A><H3>
+getState</H3>
+<PRE>
+public byte <B>getState</B>()</PRE>
+<DL>
+<DD>Get STATE_HEADER.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the STATE_HEADER value.<DT><B>See Also:</B><DD><A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html#STATE_HEADER"><CODE>STATE_HEADER</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPosition()"><!-- --></A><H3>
+getPosition</H3>
+<PRE>
+public long <B>getPosition</B>()</PRE>
+<DL>
+<DD>Get CURRENT_POSITION_HEADER.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the CURRENT_POSITION_HEADER value.<DT><B>See Also:</B><DD><A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html#CURRENT_POSITION_HEADER"><CODE>CURRENT_POSITION_HEADER</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setFormatId(int)"><!-- --></A><H3>
+setFormatId</H3>
+<PRE>
+public void <B>setFormatId</B>(int formatId)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Set FORMAT_ID_HEADER.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>formatId</CODE> - the FORMAT_ID_HEADER value.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.<DT><B>See Also:</B><DD><A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html#FORMAT_ID_HEADER"><CODE>FORMAT_ID_HEADER</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setTimestamp(long)"><!-- --></A><H3>
+setTimestamp</H3>
+<PRE>
+public void <B>setTimestamp</B>(long timestamp)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Set TIMESTAMP_HEADER.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>timestamp</CODE> - the TIMESTAMP_HEADER value.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.<DT><B>See Also:</B><DD><A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html#TIMESTAMP_HEADER"><CODE>TIMESTAMP_HEADER</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setState(byte)"><!-- --></A><H3>
+setState</H3>
+<PRE>
+public void <B>setState</B>(byte state)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Set STATE_HEADER.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>state</CODE> - the STATE_HEADER value.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.<DT><B>See Also:</B><DD><A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html#STATE_HEADER"><CODE>STATE_HEADER</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPosition(long)"><!-- --></A><H3>
+setPosition</H3>
+<PRE>
+public void <B>setPosition</B>(long position)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Set CURRENT_POSITION_HEADER.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>position</CODE> - the CURRENT_POSITION_HEADER value.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.<DT><B>See Also:</B><DD><A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html#CURRENT_POSITION_HEADER"><CODE>CURRENT_POSITION_HEADER</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="goAhead(long)"><!-- --></A><H3>
+goAhead</H3>
+<PRE>
+public void <B>goAhead</B>(long distance)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Advance CURRENT_POSITION_HEADER.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>distance</CODE> - the value to add to the current position.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.<DT><B>See Also:</B><DD><A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html#setPosition(long)"><CODE>setPosition(long)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="rewind()"><!-- --></A><H3>
+rewind</H3>
+<PRE>
+public void <B>rewind</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Rewind CURRENT_POSITION_HEADER back to the beginning of the file.
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.<DT><B>See Also:</B><DD><A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html#setPosition(long)"><CODE>setPosition(long)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD>Create human-readable String representation.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a human-readable String representing this object's state.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TransactionLogHeader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/journal/TransactionLogCursor.html" title="class in bitronix.tm.journal"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/journal/TransactionLogHeader.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionLogHeader.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/journal/TransactionLogRecord.html b/doc/api/bitronix/tm/journal/TransactionLogRecord.html
new file mode 100644
index 0000000..7a9d051
--- /dev/null
+++ b/doc/api/bitronix/tm/journal/TransactionLogRecord.html
@@ -0,0 +1,560 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+TransactionLogRecord (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="TransactionLogRecord (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TransactionLogRecord.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/journal/TransactionLogRecord.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionLogRecord.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.journal</FONT>
+<BR>
+Class TransactionLogRecord</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.journal.TransactionLogRecord</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>TransactionLogRecord</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+Representation of a transaction log record on disk.
+ <p>On-disk format has been implemented following Mike Spille's recommendations. Quoting him:</p>
+
+ <i><p><code>[RECORD_TYPE :4] [RECORD_LEN :4] [HEADER_LEN :4] [System.currentTimeMillis :8] [Sequence number :4]
+ [Checksum :4] [Payload :X] [END_RECORD_INDICATOR :4]</code></p>
+ <p>Where [RECORD_TYPE] is a passed-in record type from the TM. [RECORD_LEN] is the overall record length
+ (sans [RECORD_TYPE and [RECORD_LEN]). [HEADER_LEN] is the length of the remainder of the header - important if you
+ want to support easy upgrades of your format. The remaining pieces are the rest of the header, and the payload. The
+ header at least should have [System.currentTimeMillis] and [Sequence number], with the [sequence number] coming from
+ some monotically increasing sequence generator unique to the process. The [checksum] is optional for the paranoid
+ among us. The time information can be very useful for profiling and tracking down problems in production, and in
+ conjunction with the sequence number it can give you precise ordering. This doesn't give you much in this solution,
+ but can be priceless if you ever move to a system with multiple dual log file pairs to lessen single-threading on a
+ single log file pair. Finally, I like having an [END_RECORD_INDICATOR] as an extra corruption detector device - I'm
+ a suspenders and belt kind of guy. Actually, the END_RECORD_INDICATOR and [RECORD_LEN] in conjunction are very
+ useful in development, as well, to catch programming mistakes in the log system early.</p></i>
+
+ <p>Payload contains <code>[GTRID LENGTH :1] [GTRID :A] [UNIQUE NAMES COUNT :4] ([UNIQUE NAME LENGTH :2] [UNIQUE NAME :Y] ...)</code>
+ which makes a major difference with Mike's proposed format because here a record can vary in length: the GTRID size
+ is A bytes long (A being the GTRID length) and there can be X unique names that are Y characters long, Y being eventually
+ different for each name.</p>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><a href="http://jroller.com/page/pyrasun?entry=xa_exposed_part_iii_the">XA Exposed, Part III: The Implementor's Notebook</a></DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html#TransactionLogRecord(int, int, int, long, int, int, bitronix.tm.utils.Uid, java.util.Set, int)">TransactionLogRecord</A></B>(int status,
+ int recordLength,
+ int headerLength,
+ long time,
+ int sequenceNumber,
+ int crc32,
+ <A HREF="../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> gtrid,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A> uniqueNames,
+ int endRecord)</CODE>
+
+<BR>
+ Use this constructor when restoring a log from the disk.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html#TransactionLogRecord(int, bitronix.tm.utils.Uid, java.util.Set)">TransactionLogRecord</A></B>(int status,
+ <A HREF="../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> gtrid,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A> uniqueNames)</CODE>
+
+<BR>
+ Create a new transaction log ready to be stored.</TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html#calculateCrc32()">calculateCrc32</A></B>()</CODE>
+
+<BR>
+ Calculate the CRC32 value of this record.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html#getCrc32()">getCrc32</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html#getEndRecord()">getEndRecord</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html#getGtrid()">getGtrid</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html#getHeaderLength()">getHeaderLength</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html#getRecordLength()">getRecordLength</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html#getSequenceNumber()">getSequenceNumber</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html#getStatus()">getStatus</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html#getTime()">getTime</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html#getUniqueNames()">getUniqueNames</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html#isCrc32Correct()">isCrc32Correct</A></B>()</CODE>
+
+<BR>
+ Recalculate the CRC32 value of this record (using <A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html#calculateCrc32()"><CODE>calculateCrc32()</CODE></A>) and compare it with the stored value.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html#removeUniqueNames(java.util.Collection)">removeUniqueNames</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</A> namesToRemove)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="TransactionLogRecord(int, int, int, long, int, int, bitronix.tm.utils.Uid, java.util.Set, int)"><!-- --></A><H3>
+TransactionLogRecord</H3>
+<PRE>
+public <B>TransactionLogRecord</B>(int status,
+ int recordLength,
+ int headerLength,
+ long time,
+ int sequenceNumber,
+ int crc32,
+ <A HREF="../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> gtrid,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A> uniqueNames,
+ int endRecord)</PRE>
+<DL>
+<DD>Use this constructor when restoring a log from the disk.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>status</CODE> - record type<DD><CODE>recordLength</CODE> - record length excluding status and recordLength<DD><CODE>headerLength</CODE> - length of all fields except gtrid, uniqueNames and endRecord<DD><CODE>time</CODE> - current time in milliseconds<DD><CODE>sequenceNumber</CODE> - atomically generated sequence number during a JVM's lifespan<DD><CODE>crc32</CODE> - checksum of the full record<DD><CODE>gtrid</CODE> - global transaction id<DD><CODE>uniqueNa [...]
+</DL>
+<HR>
+
+<A NAME="TransactionLogRecord(int, bitronix.tm.utils.Uid, java.util.Set)"><!-- --></A><H3>
+TransactionLogRecord</H3>
+<PRE>
+public <B>TransactionLogRecord</B>(int status,
+ <A HREF="../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> gtrid,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A> uniqueNames)</PRE>
+<DL>
+<DD>Create a new transaction log ready to be stored.
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>status</CODE> - record type<DD><CODE>gtrid</CODE> - global transaction id<DD><CODE>uniqueNames</CODE> - unique names of XA data sources used in this transaction</DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getStatus()"><!-- --></A><H3>
+getStatus</H3>
+<PRE>
+public int <B>getStatus</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRecordLength()"><!-- --></A><H3>
+getRecordLength</H3>
+<PRE>
+public int <B>getRecordLength</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getHeaderLength()"><!-- --></A><H3>
+getHeaderLength</H3>
+<PRE>
+public int <B>getHeaderLength</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTime()"><!-- --></A><H3>
+getTime</H3>
+<PRE>
+public long <B>getTime</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSequenceNumber()"><!-- --></A><H3>
+getSequenceNumber</H3>
+<PRE>
+public int <B>getSequenceNumber</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCrc32()"><!-- --></A><H3>
+getCrc32</H3>
+<PRE>
+public int <B>getCrc32</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getGtrid()"><!-- --></A><H3>
+getGtrid</H3>
+<PRE>
+public <A HREF="../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> <B>getGtrid</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUniqueNames()"><!-- --></A><H3>
+getUniqueNames</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A> <B>getUniqueNames</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getEndRecord()"><!-- --></A><H3>
+getEndRecord</H3>
+<PRE>
+public int <B>getEndRecord</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeUniqueNames(java.util.Collection)"><!-- --></A><H3>
+removeUniqueNames</H3>
+<PRE>
+public void <B>removeUniqueNames</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</A> namesToRemove)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isCrc32Correct()"><!-- --></A><H3>
+isCrc32Correct</H3>
+<PRE>
+public boolean <B>isCrc32Correct</B>()</PRE>
+<DL>
+<DD>Recalculate the CRC32 value of this record (using <A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html#calculateCrc32()"><CODE>calculateCrc32()</CODE></A>) and compare it with the stored value.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if the recalculated value equals the stored one, false otherwise.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="calculateCrc32()"><!-- --></A><H3>
+calculateCrc32</H3>
+<PRE>
+public int <B>calculateCrc32</B>()</PRE>
+<DL>
+<DD>Calculate the CRC32 value of this record.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the CRC32 value of this record.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TransactionLogRecord.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/journal/TransactionLogRecord.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionLogRecord.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/journal/class-use/CorruptedTransactionLogException.html b/doc/api/bitronix/tm/journal/class-use/CorruptedTransactionLogException.html
new file mode 100644
index 0000000..591e684
--- /dev/null
+++ b/doc/api/bitronix/tm/journal/class-use/CorruptedTransactionLogException.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.journal.CorruptedTransactionLogException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.journal.CorruptedTransactionLogException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/journal/CorruptedTransactionLogException.html" title="class in bitronix.tm.journal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/journal//class-useCorruptedTransactionLogException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="CorruptedTransactionLogException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.journal.CorruptedTransactionLogException</B></H2>
+</CENTER>
+No usage of bitronix.tm.journal.CorruptedTransactionLogException
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/journal/CorruptedTransactionLogException.html" title="class in bitronix.tm.journal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/journal//class-useCorruptedTransactionLogException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="CorruptedTransactionLogException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/journal/class-use/DiskForceBatcherThread.html b/doc/api/bitronix/tm/journal/class-use/DiskForceBatcherThread.html
new file mode 100644
index 0000000..340e91d
--- /dev/null
+++ b/doc/api/bitronix/tm/journal/class-use/DiskForceBatcherThread.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.journal.DiskForceBatcherThread (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.journal.DiskForceBatcherThread (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/journal/DiskForceBatcherThread.html" title="class in bitronix.tm.journal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/journal//class-useDiskForceBatcherThread.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="DiskForceBatcherThread.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.journal.DiskForceBatcherThread</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../bitronix/tm/journal/DiskForceBatcherThread.html" title="class in bitronix.tm.journal">DiskForceBatcherThread</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.journal"><B>bitronix.tm.journal</B></A></TD>
+<TD>
+ Transactions disk journal. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.journal"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/journal/DiskForceBatcherThread.html" title="class in bitronix.tm.journal">DiskForceBatcherThread</A> in <A HREF="../../../../bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A> that return <A HREF="../../../../bitronix/tm/journal/DiskForceBatcherThread.html" title="class in bitronix.tm.journal">DiskForceBatcherThread</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../../bitronix/tm/journal/DiskForceBatcherThread.html" title="class in bitronix.tm.journal">DiskForceBatcherThread</A></CODE></FONT></TD>
+<TD><CODE><B>DiskForceBatcherThread.</B><B><A HREF="../../../../bitronix/tm/journal/DiskForceBatcherThread.html#getInstance()">getInstance</A></B>()</CODE>
+
+<BR>
+ Get the single instance of the DiskForceBatcherThread.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/journal/DiskForceBatcherThread.html" title="class in bitronix.tm.journal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/journal//class-useDiskForceBatcherThread.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="DiskForceBatcherThread.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/journal/class-use/DiskForceWaitQueue.html b/doc/api/bitronix/tm/journal/class-use/DiskForceWaitQueue.html
new file mode 100644
index 0000000..d56ec08
--- /dev/null
+++ b/doc/api/bitronix/tm/journal/class-use/DiskForceWaitQueue.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.journal.DiskForceWaitQueue (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.journal.DiskForceWaitQueue (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/journal/DiskForceWaitQueue.html" title="class in bitronix.tm.journal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/journal//class-useDiskForceWaitQueue.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="DiskForceWaitQueue.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.journal.DiskForceWaitQueue</B></H2>
+</CENTER>
+No usage of bitronix.tm.journal.DiskForceWaitQueue
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/journal/DiskForceWaitQueue.html" title="class in bitronix.tm.journal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/journal//class-useDiskForceWaitQueue.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="DiskForceWaitQueue.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/journal/class-use/DiskJournal.html b/doc/api/bitronix/tm/journal/class-use/DiskJournal.html
new file mode 100644
index 0000000..d13281c
--- /dev/null
+++ b/doc/api/bitronix/tm/journal/class-use/DiskJournal.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.journal.DiskJournal (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.journal.DiskJournal (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/journal/DiskJournal.html" title="class in bitronix.tm.journal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/journal//class-useDiskJournal.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="DiskJournal.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.journal.DiskJournal</B></H2>
+</CENTER>
+No usage of bitronix.tm.journal.DiskJournal
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/journal/DiskJournal.html" title="class in bitronix.tm.journal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/journal//class-useDiskJournal.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="DiskJournal.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/journal/class-use/Journal.html b/doc/api/bitronix/tm/journal/class-use/Journal.html
new file mode 100644
index 0000000..db8fcda
--- /dev/null
+++ b/doc/api/bitronix/tm/journal/class-use/Journal.html
@@ -0,0 +1,220 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Interface bitronix.tm.journal.Journal (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface bitronix.tm.journal.Journal (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/journal//class-useJournal.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Journal.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>bitronix.tm.journal.Journal</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm"><B>bitronix.tm</B></A></TD>
+<TD>
+ JTA interfaces implementations and global services. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.journal"><B>bitronix.tm.journal</B></A></TD>
+<TD>
+ Transactions disk journal. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A> in <A HREF="../../../../bitronix/tm/package-summary.html">bitronix.tm</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/package-summary.html">bitronix.tm</A> that return <A HREF="../../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A></CODE></FONT></TD>
+<TD><CODE><B>TransactionManagerServices.</B><B><A HREF="../../../../bitronix/tm/TransactionManagerServices.html#getJournal()">getJournal</A></B>()</CODE>
+
+<BR>
+ Create the transactions journal.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.journal"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A> in <A HREF="../../../../bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A> that implement <A HREF="../../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/journal/DiskJournal.html" title="class in bitronix.tm.journal">DiskJournal</A></B></CODE>
+
+<BR>
+ Simple implementation of a journal that writes on a two-files disk log.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/journal/NullJournal.html" title="class in bitronix.tm.journal">NullJournal</A></B></CODE>
+
+<BR>
+ No-op journal.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/journal//class-useJournal.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Journal.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/journal/class-use/NullJournal.html b/doc/api/bitronix/tm/journal/class-use/NullJournal.html
new file mode 100644
index 0000000..4af90da
--- /dev/null
+++ b/doc/api/bitronix/tm/journal/class-use/NullJournal.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.journal.NullJournal (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.journal.NullJournal (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/journal/NullJournal.html" title="class in bitronix.tm.journal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/journal//class-useNullJournal.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="NullJournal.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.journal.NullJournal</B></H2>
+</CENTER>
+No usage of bitronix.tm.journal.NullJournal
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/journal/NullJournal.html" title="class in bitronix.tm.journal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/journal//class-useNullJournal.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="NullJournal.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/journal/class-use/TransactionLogAppender.html b/doc/api/bitronix/tm/journal/class-use/TransactionLogAppender.html
new file mode 100644
index 0000000..4ff90f8
--- /dev/null
+++ b/doc/api/bitronix/tm/journal/class-use/TransactionLogAppender.html
@@ -0,0 +1,214 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.journal.TransactionLogAppender (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.journal.TransactionLogAppender (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/journal//class-useTransactionLogAppender.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionLogAppender.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.journal.TransactionLogAppender</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal">TransactionLogAppender</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.journal"><B>bitronix.tm.journal</B></A></TD>
+<TD>
+ Transactions disk journal. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.journal"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal">TransactionLogAppender</A> in <A HREF="../../../../bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A> that return <A HREF="../../../../bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal">TransactionLogAppender</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal">TransactionLogAppender</A></CODE></FONT></TD>
+<TD><CODE><B>DiskForceWaitQueue.</B><B><A HREF="../../../../bitronix/tm/journal/DiskForceWaitQueue.html#head()">head</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A> with parameters of type <A HREF="../../../../bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal">TransactionLogAppender</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>DiskForceWaitQueue.</B><B><A HREF="../../../../bitronix/tm/journal/DiskForceWaitQueue.html#enqueue(bitronix.tm.journal.TransactionLogAppender)">enqueue</A></B>(<A HREF="../../../../bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal">TransactionLogAppender</A> tla)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>DiskForceBatcherThread.</B><B><A HREF="../../../../bitronix/tm/journal/DiskForceBatcherThread.html#enqueue(bitronix.tm.journal.TransactionLogAppender)">enqueue</A></B>(<A HREF="../../../../bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal">TransactionLogAppender</A> tla)</CODE>
+
+<BR>
+ Add the TransactionLogAppender to the wait queue and wait until the disk force is done.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>DiskForceWaitQueue.</B><B><A HREF="../../../../bitronix/tm/journal/DiskForceWaitQueue.html#waitUntilNotContains(bitronix.tm.journal.TransactionLogAppender)">waitUntilNotContains</A></B>(<A HREF="../../../../bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal">TransactionLogAppender</A> tla)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/journal//class-useTransactionLogAppender.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionLogAppender.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/journal/class-use/TransactionLogCursor.html b/doc/api/bitronix/tm/journal/class-use/TransactionLogCursor.html
new file mode 100644
index 0000000..78050b2
--- /dev/null
+++ b/doc/api/bitronix/tm/journal/class-use/TransactionLogCursor.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.journal.TransactionLogCursor (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.journal.TransactionLogCursor (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/journal/TransactionLogCursor.html" title="class in bitronix.tm.journal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/journal//class-useTransactionLogCursor.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionLogCursor.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.journal.TransactionLogCursor</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../bitronix/tm/journal/TransactionLogCursor.html" title="class in bitronix.tm.journal">TransactionLogCursor</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.journal"><B>bitronix.tm.journal</B></A></TD>
+<TD>
+ Transactions disk journal. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.journal"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/journal/TransactionLogCursor.html" title="class in bitronix.tm.journal">TransactionLogCursor</A> in <A HREF="../../../../bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A> that return <A HREF="../../../../bitronix/tm/journal/TransactionLogCursor.html" title="class in bitronix.tm.journal">TransactionLogCursor</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/journal/TransactionLogCursor.html" title="class in bitronix.tm.journal">TransactionLogCursor</A></CODE></FONT></TD>
+<TD><CODE><B>TransactionLogAppender.</B><B><A HREF="../../../../bitronix/tm/journal/TransactionLogAppender.html#getCursor()">getCursor</A></B>()</CODE>
+
+<BR>
+ Creates a cursor on this journal file allowing iteration of its records.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/journal/TransactionLogCursor.html" title="class in bitronix.tm.journal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/journal//class-useTransactionLogCursor.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionLogCursor.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/journal/class-use/TransactionLogHeader.html b/doc/api/bitronix/tm/journal/class-use/TransactionLogHeader.html
new file mode 100644
index 0000000..d20dffd
--- /dev/null
+++ b/doc/api/bitronix/tm/journal/class-use/TransactionLogHeader.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.journal.TransactionLogHeader (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.journal.TransactionLogHeader (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/journal//class-useTransactionLogHeader.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionLogHeader.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.journal.TransactionLogHeader</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal">TransactionLogHeader</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.journal"><B>bitronix.tm.journal</B></A></TD>
+<TD>
+ Transactions disk journal. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.journal"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal">TransactionLogHeader</A> in <A HREF="../../../../bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A> that return <A HREF="../../../../bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal">TransactionLogHeader</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal">TransactionLogHeader</A></CODE></FONT></TD>
+<TD><CODE><B>TransactionLogAppender.</B><B><A HREF="../../../../bitronix/tm/journal/TransactionLogAppender.html#getHeader()">getHeader</A></B>()</CODE>
+
+<BR>
+ Return a <A HREF="../../../../bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal"><CODE>TransactionLogHeader</CODE></A> that allows reading and controlling the log file's header.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/journal//class-useTransactionLogHeader.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionLogHeader.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/journal/class-use/TransactionLogRecord.html b/doc/api/bitronix/tm/journal/class-use/TransactionLogRecord.html
new file mode 100644
index 0000000..77423f4
--- /dev/null
+++ b/doc/api/bitronix/tm/journal/class-use/TransactionLogRecord.html
@@ -0,0 +1,299 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.journal.TransactionLogRecord (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.journal.TransactionLogRecord (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/journal//class-useTransactionLogRecord.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionLogRecord.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.journal.TransactionLogRecord</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.gui"><B>bitronix.tm.gui</B></A></TD>
+<TD>
+ GUI admin console. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.journal"><B>bitronix.tm.journal</B></A></TD>
+<TD>
+ Transactions disk journal. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.gui"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A> in <A HREF="../../../../bitronix/tm/gui/package-summary.html">bitronix.tm.gui</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/gui/package-summary.html">bitronix.tm.gui</A> that return <A HREF="../../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract <A HREF="../../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A></CODE></FONT></TD>
+<TD><CODE><B>TransactionTableModel.</B><B><A HREF="../../../../bitronix/tm/gui/TransactionTableModel.html#getRow(int)">getRow</A></B>(int row)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A></CODE></FONT></TD>
+<TD><CODE><B>RawTransactionTableModel.</B><B><A HREF="../../../../bitronix/tm/gui/RawTransactionTableModel.html#getRow(int)">getRow</A></B>(int row)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A></CODE></FONT></TD>
+<TD><CODE><B>PendingTransactionTableModel.</B><B><A HREF="../../../../bitronix/tm/gui/PendingTransactionTableModel.html#getRow(int)">getRow</A></B>(int row)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/gui/package-summary.html">bitronix.tm.gui</A> with parameters of type <A HREF="../../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract boolean</CODE></FONT></TD>
+<TD><CODE><B>TransactionTableModel.</B><B><A HREF="../../../../bitronix/tm/gui/TransactionTableModel.html#acceptLog(bitronix.tm.journal.TransactionLogRecord)">acceptLog</A></B>(<A HREF="../../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A> tlog)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>RawTransactionTableModel.</B><B><A HREF="../../../../bitronix/tm/gui/RawTransactionTableModel.html#acceptLog(bitronix.tm.journal.TransactionLogRecord)">acceptLog</A></B>(<A HREF="../../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A> tlog)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>PendingTransactionTableModel.</B><B><A HREF="../../../../bitronix/tm/gui/PendingTransactionTableModel.html#acceptLog(bitronix.tm.journal.TransactionLogRecord)">acceptLog</A></B>(<A HREF="../../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A> tlog)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../bitronix/tm/gui/package-summary.html">bitronix.tm.gui</A> with parameters of type <A HREF="../../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/gui/TransactionLogDialog.html#TransactionLogDialog(javax.swing.JFrame, bitronix.tm.journal.TransactionLogRecord)">TransactionLogDialog</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">JFrame</A> frame,
+ <A HREF="../../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A> tlog)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.journal"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A> in <A HREF="../../../../bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A> that return <A HREF="../../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A></CODE></FONT></TD>
+<TD><CODE><B>TransactionLogCursor.</B><B><A HREF="../../../../bitronix/tm/journal/TransactionLogCursor.html#readLog()">readLog</A></B>()</CODE>
+
+<BR>
+ Fetch the next TransactionLogRecord from log, recalculating the CRC and checking it against the stored one.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A></CODE></FONT></TD>
+<TD><CODE><B>TransactionLogCursor.</B><B><A HREF="../../../../bitronix/tm/journal/TransactionLogCursor.html#readLog(boolean)">readLog</A></B>(boolean skipCrcCheck)</CODE>
+
+<BR>
+ Fetch the next TransactionLogRecord from log.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A> with parameters of type <A HREF="../../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>TransactionLogAppender.</B><B><A HREF="../../../../bitronix/tm/journal/TransactionLogAppender.html#writeLog(bitronix.tm.journal.TransactionLogRecord)">writeLog</A></B>(<A HREF="../../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A> tlog)</CODE>
+
+<BR>
+ Write a <A HREF="../../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal"><CODE>TransactionLogRecord</CODE></A> to disk.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/journal//class-useTransactionLogRecord.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionLogRecord.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/journal/package-frame.html b/doc/api/bitronix/tm/journal/package-frame.html
new file mode 100644
index 0000000..68fbea0
--- /dev/null
+++ b/doc/api/bitronix/tm/journal/package-frame.html
@@ -0,0 +1,69 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.journal (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../bitronix/tm/journal/package-summary.html" target="classFrame">bitronix.tm.journal</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Interfaces</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="Journal.html" title="interface in bitronix.tm.journal" target="classFrame"><I>Journal</I></A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="DiskForceBatcherThread.html" title="class in bitronix.tm.journal" target="classFrame">DiskForceBatcherThread</A>
+<BR>
+<A HREF="DiskForceWaitQueue.html" title="class in bitronix.tm.journal" target="classFrame">DiskForceWaitQueue</A>
+<BR>
+<A HREF="DiskJournal.html" title="class in bitronix.tm.journal" target="classFrame">DiskJournal</A>
+<BR>
+<A HREF="NullJournal.html" title="class in bitronix.tm.journal" target="classFrame">NullJournal</A>
+<BR>
+<A HREF="TransactionLogAppender.html" title="class in bitronix.tm.journal" target="classFrame">TransactionLogAppender</A>
+<BR>
+<A HREF="TransactionLogCursor.html" title="class in bitronix.tm.journal" target="classFrame">TransactionLogCursor</A>
+<BR>
+<A HREF="TransactionLogHeader.html" title="class in bitronix.tm.journal" target="classFrame">TransactionLogHeader</A>
+<BR>
+<A HREF="TransactionLogRecord.html" title="class in bitronix.tm.journal" target="classFrame">TransactionLogRecord</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Exceptions</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="CorruptedTransactionLogException.html" title="class in bitronix.tm.journal" target="classFrame">CorruptedTransactionLogException</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/journal/package-summary.html b/doc/api/bitronix/tm/journal/package-summary.html
new file mode 100644
index 0000000..9f40a82
--- /dev/null
+++ b/doc/api/bitronix/tm/journal/package-summary.html
@@ -0,0 +1,233 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.journal (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.journal (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/jndi/package-summary.html"><B>PREV PACKAGE</B></A>
+ <A HREF="../../../bitronix/tm/recovery/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/journal/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package bitronix.tm.journal
+</H2>
+
+ Transactions disk journal.
+<P>
+<B>See:</B>
+<BR>
+ <A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Interface Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A></B></TD>
+<TD>Transaction logs journal implementations must implement this interface to provide functionality required by the
+ transaction manager.</TD>
+</TR>
+</TABLE>
+
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/journal/DiskForceBatcherThread.html" title="class in bitronix.tm.journal">DiskForceBatcherThread</A></B></TD>
+<TD>Thread that executes disk force batches.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/journal/DiskForceWaitQueue.html" title="class in bitronix.tm.journal">DiskForceWaitQueue</A></B></TD>
+<TD><A HREF="../../../bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal"><CODE>TransactionLogAppender</CODE></A>s waiting for a disk force get enqueued here.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/journal/DiskJournal.html" title="class in bitronix.tm.journal">DiskJournal</A></B></TD>
+<TD>Simple implementation of a journal that writes on a two-files disk log.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/journal/NullJournal.html" title="class in bitronix.tm.journal">NullJournal</A></B></TD>
+<TD>No-op journal.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal">TransactionLogAppender</A></B></TD>
+<TD>Used to write <A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal"><CODE>TransactionLogRecord</CODE></A> objects to a log file.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/journal/TransactionLogCursor.html" title="class in bitronix.tm.journal">TransactionLogCursor</A></B></TD>
+<TD>Used to read <A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal"><CODE>TransactionLogRecord</CODE></A> objects from a log file.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal">TransactionLogHeader</A></B></TD>
+<TD>Used to control a log file's header.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A></B></TD>
+<TD>Representation of a transaction log record on disk.</TD>
+</TR>
+</TABLE>
+
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Exception Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/journal/CorruptedTransactionLogException.html" title="class in bitronix.tm.journal">CorruptedTransactionLogException</A></B></TD>
+<TD>Thrown by <A HREF="../../../bitronix/tm/journal/TransactionLogCursor.html" title="class in bitronix.tm.journal"><CODE>TransactionLogCursor</CODE></A> when an integrity check fails upon reading a record.</TD>
+</TR>
+</TABLE>
+
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package bitronix.tm.journal Description
+</H2>
+
+<P>
+<p>
+ Transactions disk journal.
+ </p>
+<P>
+
+<P>
+<DL>
+</DL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/jndi/package-summary.html"><B>PREV PACKAGE</B></A>
+ <A HREF="../../../bitronix/tm/recovery/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/journal/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/journal/package-tree.html b/doc/api/bitronix/tm/journal/package-tree.html
new file mode 100644
index 0000000..d7807ef
--- /dev/null
+++ b/doc/api/bitronix/tm/journal/package-tree.html
@@ -0,0 +1,173 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.journal Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.journal Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/jndi/package-tree.html"><B>PREV</B></A>
+ <A HREF="../../../bitronix/tm/recovery/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/journal/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package bitronix.tm.journal
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">bitronix.tm.journal.<A HREF="../../../bitronix/tm/journal/DiskForceWaitQueue.html" title="class in bitronix.tm.journal"><B>DiskForceWaitQueue</B></A><LI TYPE="circle">bitronix.tm.journal.<A HREF="../../../bitronix/tm/journal/DiskJournal.html" title="class in bitronix.tm.journal"><B>DiskJournal</B></A> (implements bitronix.tm.journal.<A HREF="../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A>)
+<LI TYPE="circle">bitronix.tm.journal.<A HREF="../../../bitronix/tm/journal/NullJournal.html" title="class in bitronix.tm.journal"><B>NullJournal</B></A> (implements bitronix.tm.journal.<A HREF="../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A>)
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang"><B>Thread</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A>)
+<UL>
+<LI TYPE="circle">bitronix.tm.journal.<A HREF="../../../bitronix/tm/journal/DiskForceBatcherThread.html" title="class in bitronix.tm.journal"><B>DiskForceBatcherThread</B></A></UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><B>Throwable</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>)
+<UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><B>Exception</B></A><UL>
+<LI TYPE="circle">java.io.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io"><B>IOException</B></A><UL>
+<LI TYPE="circle">bitronix.tm.journal.<A HREF="../../../bitronix/tm/journal/CorruptedTransactionLogException.html" title="class in bitronix.tm.journal"><B>CorruptedTransactionLogException</B></A></UL>
+</UL>
+</UL>
+<LI TYPE="circle">bitronix.tm.journal.<A HREF="../../../bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal"><B>TransactionLogAppender</B></A><LI TYPE="circle">bitronix.tm.journal.<A HREF="../../../bitronix/tm/journal/TransactionLogCursor.html" title="class in bitronix.tm.journal"><B>TransactionLogCursor</B></A><LI TYPE="circle">bitronix.tm.journal.<A HREF="../../../bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal"><B>Tra [...]
+</UL>
+<H2>
+Interface Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">bitronix.tm.utils.<A HREF="../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils"><B>Service</B></A><UL>
+<LI TYPE="circle">bitronix.tm.journal.<A HREF="../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal"><B>Journal</B></A></UL>
+</UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/jndi/package-tree.html"><B>PREV</B></A>
+ <A HREF="../../../bitronix/tm/recovery/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/journal/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/journal/package-use.html b/doc/api/bitronix/tm/journal/package-use.html
new file mode 100644
index 0000000..d31d53a
--- /dev/null
+++ b/doc/api/bitronix/tm/journal/package-use.html
@@ -0,0 +1,244 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Package bitronix.tm.journal (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Package bitronix.tm.journal (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/journal/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>bitronix.tm.journal</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm"><B>bitronix.tm</B></A></TD>
+<TD>
+ JTA interfaces implementations and global services. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.gui"><B>bitronix.tm.gui</B></A></TD>
+<TD>
+ GUI admin console. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.journal"><B>bitronix.tm.journal</B></A></TD>
+<TD>
+ Transactions disk journal. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A> used by <A HREF="../../../bitronix/tm/package-summary.html">bitronix.tm</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/journal/class-use/Journal.html#bitronix.tm"><B>Journal</B></A></B>
+
+<BR>
+ Transaction logs journal implementations must implement this interface to provide functionality required by the
+ transaction manager.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.gui"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A> used by <A HREF="../../../bitronix/tm/gui/package-summary.html">bitronix.tm.gui</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/journal/class-use/TransactionLogRecord.html#bitronix.tm.gui"><B>TransactionLogRecord</B></A></B>
+
+<BR>
+ Representation of a transaction log record on disk.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.journal"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A> used by <A HREF="../../../bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/journal/class-use/DiskForceBatcherThread.html#bitronix.tm.journal"><B>DiskForceBatcherThread</B></A></B>
+
+<BR>
+ Thread that executes disk force batches.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/journal/class-use/Journal.html#bitronix.tm.journal"><B>Journal</B></A></B>
+
+<BR>
+ Transaction logs journal implementations must implement this interface to provide functionality required by the
+ transaction manager.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/journal/class-use/TransactionLogAppender.html#bitronix.tm.journal"><B>TransactionLogAppender</B></A></B>
+
+<BR>
+ Used to write <A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal"><CODE>TransactionLogRecord</CODE></A> objects to a log file.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/journal/class-use/TransactionLogCursor.html#bitronix.tm.journal"><B>TransactionLogCursor</B></A></B>
+
+<BR>
+ Used to read <A HREF="../../../bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal"><CODE>TransactionLogRecord</CODE></A> objects from a log file.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/journal/class-use/TransactionLogHeader.html#bitronix.tm.journal"><B>TransactionLogHeader</B></A></B>
+
+<BR>
+ Used to control a log file's header.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/journal/class-use/TransactionLogRecord.html#bitronix.tm.journal"><B>TransactionLogRecord</B></A></B>
+
+<BR>
+ Representation of a transaction log record on disk.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/journal/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/package-frame.html b/doc/api/bitronix/tm/package-frame.html
new file mode 100644
index 0000000..7cec3d4
--- /dev/null
+++ b/doc/api/bitronix/tm/package-frame.html
@@ -0,0 +1,62 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../bitronix/tm/package-summary.html" target="classFrame">bitronix.tm</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Interfaces</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="BitronixTransactionMBean.html" title="interface in bitronix.tm" target="classFrame"><I>BitronixTransactionMBean</I></A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="BitronixTransaction.html" title="class in bitronix.tm" target="classFrame">BitronixTransaction</A>
+<BR>
+<A HREF="BitronixTransactionManager.html" title="class in bitronix.tm" target="classFrame">BitronixTransactionManager</A>
+<BR>
+<A HREF="BitronixTransactionManagerObjectFactory.html" title="class in bitronix.tm" target="classFrame">BitronixTransactionManagerObjectFactory</A>
+<BR>
+<A HREF="BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm" target="classFrame">BitronixTransactionSynchronizationRegistry</A>
+<BR>
+<A HREF="BitronixTransactionSynchronizationRegistryObjectFactory.html" title="class in bitronix.tm" target="classFrame">BitronixTransactionSynchronizationRegistryObjectFactory</A>
+<BR>
+<A HREF="BitronixUserTransactionObjectFactory.html" title="class in bitronix.tm" target="classFrame">BitronixUserTransactionObjectFactory</A>
+<BR>
+<A HREF="BitronixXid.html" title="class in bitronix.tm" target="classFrame">BitronixXid</A>
+<BR>
+<A HREF="Configuration.html" title="class in bitronix.tm" target="classFrame">Configuration</A>
+<BR>
+<A HREF="TransactionManagerServices.html" title="class in bitronix.tm" target="classFrame">TransactionManagerServices</A>
+<BR>
+<A HREF="Version.html" title="class in bitronix.tm" target="classFrame">Version</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/package-summary.html b/doc/api/bitronix/tm/package-summary.html
new file mode 100644
index 0000000..e27f08a
--- /dev/null
+++ b/doc/api/bitronix/tm/package-summary.html
@@ -0,0 +1,226 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV PACKAGE
+ <A HREF="../../bitronix/tm/gui/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?bitronix/tm/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package bitronix.tm
+</H2>
+
+ JTA interfaces implementations and global services.
+<P>
+<B>See:</B>
+<BR>
+ <A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Interface Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../bitronix/tm/BitronixTransactionMBean.html" title="interface in bitronix.tm">BitronixTransactionMBean</A></B></TD>
+<TD><A HREF="../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm"><CODE>BitronixTransaction</CODE></A> Management interface.</TD>
+</TR>
+</TABLE>
+
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A></B></TD>
+<TD>Implementation of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true" title="class or interface in javax.transaction"><CODE>Transaction</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm">BitronixTransactionManager</A></B></TD>
+<TD>Implementation of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionManager.html?is-external=true" title="class or interface in javax.transaction"><CODE>TransactionManager</CODE></A> and <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/UserTransaction.html?is-external=true" title="class or interface in javax.transaction"><CODE>UserTransaction</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../bitronix/tm/BitronixTransactionManagerObjectFactory.html" title="class in bitronix.tm">BitronixTransactionManagerObjectFactory</A></B></TD>
+<TD><A HREF="../../bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm"><CODE>BitronixTransactionManager</CODE></A> object factory for JNDI references.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../bitronix/tm/BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm">BitronixTransactionSynchronizationRegistry</A></B></TD>
+<TD>Implementation of JTA 1.1 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionSynchronizationRegistry.html?is-external=true" title="class or interface in javax.transaction"><CODE>TransactionSynchronizationRegistry</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../bitronix/tm/BitronixTransactionSynchronizationRegistryObjectFactory.html" title="class in bitronix.tm">BitronixTransactionSynchronizationRegistryObjectFactory</A></B></TD>
+<TD><A HREF="../../bitronix/tm/BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm"><CODE>BitronixTransactionSynchronizationRegistry</CODE></A> object factory for JNDI references.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../bitronix/tm/BitronixUserTransactionObjectFactory.html" title="class in bitronix.tm">BitronixUserTransactionObjectFactory</A></B></TD>
+<TD><A HREF="../../bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm"><CODE>BitronixTransactionManager</CODE></A> object factory for JNDI references.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A></B></TD>
+<TD>Implementation of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>Xid</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></B></TD>
+<TD>Configuration repository of the transaction manager.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../bitronix/tm/TransactionManagerServices.html" title="class in bitronix.tm">TransactionManagerServices</A></B></TD>
+<TD>Container for all BTM services.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../bitronix/tm/Version.html" title="class in bitronix.tm">Version</A></B></TD>
+<TD> </TD>
+</TR>
+</TABLE>
+
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package bitronix.tm Description
+</H2>
+
+<P>
+<p>
+ JTA interfaces implementations and global services.
+ </p>
+<P>
+
+<P>
+<DL>
+</DL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV PACKAGE
+ <A HREF="../../bitronix/tm/gui/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?bitronix/tm/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/package-tree.html b/doc/api/bitronix/tm/package-tree.html
new file mode 100644
index 0000000..8578d5d
--- /dev/null
+++ b/doc/api/bitronix/tm/package-tree.html
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ <A HREF="../../bitronix/tm/gui/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?bitronix/tm/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package bitronix.tm
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">bitronix.tm.<A HREF="../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm"><B>BitronixTransaction</B></A> (implements bitronix.tm.<A HREF="../../bitronix/tm/BitronixTransactionMBean.html" title="interface in bitronix.tm">BitronixTransactionMBean</A>, javax.transaction.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true" title="class or interface in javax.transaction">Transaction</A>)
+<LI TYPE="circle">bitronix.tm.<A HREF="../../bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm"><B>BitronixTransactionManager</B></A> (implements javax.naming.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Referenceable.html?is-external=true" title="class or interface in javax.naming">Referenceable</A>, bitronix.tm.utils.<A HREF="../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A>, javax.transaction.<A HREF="http: [...]
+<LI TYPE="circle">bitronix.tm.<A HREF="../../bitronix/tm/BitronixTransactionManagerObjectFactory.html" title="class in bitronix.tm"><B>BitronixTransactionManagerObjectFactory</B></A> (implements javax.naming.spi.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/ObjectFactory.html?is-external=true" title="class or interface in javax.naming.spi">ObjectFactory</A>)
+<UL>
+<LI TYPE="circle">bitronix.tm.<A HREF="../../bitronix/tm/BitronixUserTransactionObjectFactory.html" title="class in bitronix.tm"><B>BitronixUserTransactionObjectFactory</B></A></UL>
+<LI TYPE="circle">bitronix.tm.<A HREF="../../bitronix/tm/BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm"><B>BitronixTransactionSynchronizationRegistry</B></A> (implements javax.naming.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Referenceable.html?is-external=true" title="class or interface in javax.naming">Referenceable</A>, javax.transaction.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionSynchronizationRegist [...]
+<LI TYPE="circle">bitronix.tm.<A HREF="../../bitronix/tm/BitronixTransactionSynchronizationRegistryObjectFactory.html" title="class in bitronix.tm"><B>BitronixTransactionSynchronizationRegistryObjectFactory</B></A> (implements javax.naming.spi.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/ObjectFactory.html?is-external=true" title="class or interface in javax.naming.spi">ObjectFactory</A>)
+<LI TYPE="circle">bitronix.tm.<A HREF="../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm"><B>BitronixXid</B></A> (implements javax.transaction.xa.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A>)
+<LI TYPE="circle">bitronix.tm.<A HREF="../../bitronix/tm/Configuration.html" title="class in bitronix.tm"><B>Configuration</B></A> (implements bitronix.tm.utils.<A HREF="../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A>)
+<LI TYPE="circle">bitronix.tm.<A HREF="../../bitronix/tm/TransactionManagerServices.html" title="class in bitronix.tm"><B>TransactionManagerServices</B></A><LI TYPE="circle">bitronix.tm.<A HREF="../../bitronix/tm/Version.html" title="class in bitronix.tm"><B>Version</B></A></UL>
+</UL>
+<H2>
+Interface Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">bitronix.tm.<A HREF="../../bitronix/tm/BitronixTransactionMBean.html" title="interface in bitronix.tm"><B>BitronixTransactionMBean</B></A></UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ <A HREF="../../bitronix/tm/gui/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?bitronix/tm/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/package-use.html b/doc/api/bitronix/tm/package-use.html
new file mode 100644
index 0000000..563ed14
--- /dev/null
+++ b/doc/api/bitronix/tm/package-use.html
@@ -0,0 +1,314 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Package bitronix.tm (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Package bitronix.tm (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?bitronix/tm/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>bitronix.tm</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../bitronix/tm/package-summary.html">bitronix.tm</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm"><B>bitronix.tm</B></A></TD>
+<TD>
+ JTA interfaces implementations and global services. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.internal"><B>bitronix.tm.internal</B></A></TD>
+<TD>
+ Internal implementation details. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.common"><B>bitronix.tm.resource.common</B></A></TD>
+<TD>
+ Resource management code common across all resource types. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.timer"><B>bitronix.tm.timer</B></A></TD>
+<TD>
+ Timed tasks scheduler. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.twopc"><B>bitronix.tm.twopc</B></A></TD>
+<TD>
+ Two-phase commit logic. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.utils"><B>bitronix.tm.utils</B></A></TD>
+<TD>
+ Misc utility classes. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../bitronix/tm/package-summary.html">bitronix.tm</A> used by <A HREF="../../bitronix/tm/package-summary.html">bitronix.tm</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../bitronix/tm/class-use/BitronixTransaction.html#bitronix.tm"><B>BitronixTransaction</B></A></B>
+
+<BR>
+ Implementation of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true" title="class or interface in javax.transaction"><CODE>Transaction</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../bitronix/tm/class-use/BitronixTransactionManager.html#bitronix.tm"><B>BitronixTransactionManager</B></A></B>
+
+<BR>
+ Implementation of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionManager.html?is-external=true" title="class or interface in javax.transaction"><CODE>TransactionManager</CODE></A> and <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/UserTransaction.html?is-external=true" title="class or interface in javax.transaction"><CODE>UserTransaction</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../bitronix/tm/class-use/BitronixTransactionManagerObjectFactory.html#bitronix.tm"><B>BitronixTransactionManagerObjectFactory</B></A></B>
+
+<BR>
+ <A HREF="../../bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm"><CODE>BitronixTransactionManager</CODE></A> object factory for JNDI references.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../bitronix/tm/class-use/BitronixTransactionMBean.html#bitronix.tm"><B>BitronixTransactionMBean</B></A></B>
+
+<BR>
+ <A HREF="../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm"><CODE>BitronixTransaction</CODE></A> Management interface.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../bitronix/tm/class-use/BitronixTransactionSynchronizationRegistry.html#bitronix.tm"><B>BitronixTransactionSynchronizationRegistry</B></A></B>
+
+<BR>
+ Implementation of JTA 1.1 <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionSynchronizationRegistry.html?is-external=true" title="class or interface in javax.transaction"><CODE>TransactionSynchronizationRegistry</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../bitronix/tm/class-use/Configuration.html#bitronix.tm"><B>Configuration</B></A></B>
+
+<BR>
+ Configuration repository of the transaction manager.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.internal"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../bitronix/tm/package-summary.html">bitronix.tm</A> used by <A HREF="../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../bitronix/tm/class-use/BitronixTransaction.html#bitronix.tm.internal"><B>BitronixTransaction</B></A></B>
+
+<BR>
+ Implementation of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true" title="class or interface in javax.transaction"><CODE>Transaction</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../bitronix/tm/class-use/BitronixXid.html#bitronix.tm.internal"><B>BitronixXid</B></A></B>
+
+<BR>
+ Implementation of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>Xid</CODE></A>.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.common"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../bitronix/tm/package-summary.html">bitronix.tm</A> used by <A HREF="../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../bitronix/tm/class-use/BitronixTransaction.html#bitronix.tm.resource.common"><B>BitronixTransaction</B></A></B>
+
+<BR>
+ Implementation of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true" title="class or interface in javax.transaction"><CODE>Transaction</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../bitronix/tm/class-use/BitronixXid.html#bitronix.tm.resource.common"><B>BitronixXid</B></A></B>
+
+<BR>
+ Implementation of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>Xid</CODE></A>.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.timer"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../bitronix/tm/package-summary.html">bitronix.tm</A> used by <A HREF="../../bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../bitronix/tm/class-use/BitronixTransaction.html#bitronix.tm.timer"><B>BitronixTransaction</B></A></B>
+
+<BR>
+ Implementation of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true" title="class or interface in javax.transaction"><CODE>Transaction</CODE></A>.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.twopc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../bitronix/tm/package-summary.html">bitronix.tm</A> used by <A HREF="../../bitronix/tm/twopc/package-summary.html">bitronix.tm.twopc</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../bitronix/tm/class-use/BitronixTransaction.html#bitronix.tm.twopc"><B>BitronixTransaction</B></A></B>
+
+<BR>
+ Implementation of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true" title="class or interface in javax.transaction"><CODE>Transaction</CODE></A>.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.utils"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../bitronix/tm/package-summary.html">bitronix.tm</A> used by <A HREF="../../bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../bitronix/tm/class-use/BitronixXid.html#bitronix.tm.utils"><B>BitronixXid</B></A></B>
+
+<BR>
+ Implementation of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>Xid</CODE></A>.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../index.html?bitronix/tm/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/recovery/DanglingTransaction.html b/doc/api/bitronix/tm/recovery/DanglingTransaction.html
new file mode 100644
index 0000000..cdaa905
--- /dev/null
+++ b/doc/api/bitronix/tm/recovery/DanglingTransaction.html
@@ -0,0 +1,326 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+DanglingTransaction (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="DanglingTransaction (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DanglingTransaction.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../bitronix/tm/recovery/IncrementalRecoverer.html" title="class in bitronix.tm.recovery"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/recovery/DanglingTransaction.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="DanglingTransaction.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.recovery</FONT>
+<BR>
+Class DanglingTransaction</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.recovery.DanglingTransaction</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>DanglingTransaction</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+Simple bean containing a unique resource name paired with a XID corresponding to a branch on that resource.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/recovery/DanglingTransaction.html#DanglingTransaction(java.lang.String, javax.transaction.xa.Xid)">DanglingTransaction</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> uniqueName,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/recovery/DanglingTransaction.html#equals(java.lang.Object)">equals</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> obj)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/recovery/DanglingTransaction.html#getUniqueName()">getUniqueName</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/recovery/DanglingTransaction.html#getXid()">getXid</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/recovery/DanglingTransaction.html#hashCode()">hashCode</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.c [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="DanglingTransaction(java.lang.String, javax.transaction.xa.Xid)"><!-- --></A><H3>
+DanglingTransaction</H3>
+<PRE>
+public <B>DanglingTransaction</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> uniqueName,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getUniqueName()"><!-- --></A><H3>
+getUniqueName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getUniqueName</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXid()"><!-- --></A><H3>
+getXid</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> <B>getXid</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hashCode()"><!-- --></A><H3>
+hashCode</H3>
+<PRE>
+public int <B>hashCode</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="equals(java.lang.Object)"><!-- --></A><H3>
+equals</H3>
+<PRE>
+public boolean <B>equals</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> obj)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DanglingTransaction.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../bitronix/tm/recovery/IncrementalRecoverer.html" title="class in bitronix.tm.recovery"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/recovery/DanglingTransaction.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="DanglingTransaction.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/recovery/IncrementalRecoverer.html b/doc/api/bitronix/tm/recovery/IncrementalRecoverer.html
new file mode 100644
index 0000000..a871ffa
--- /dev/null
+++ b/doc/api/bitronix/tm/recovery/IncrementalRecoverer.html
@@ -0,0 +1,266 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+IncrementalRecoverer (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="IncrementalRecoverer (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/IncrementalRecoverer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/recovery/DanglingTransaction.html" title="class in bitronix.tm.recovery"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/recovery/IncrementalRecoverer.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="IncrementalRecoverer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.recovery</FONT>
+<BR>
+Class IncrementalRecoverer</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.recovery.IncrementalRecoverer</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>IncrementalRecoverer</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+Incremental resource recoverer.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/recovery/IncrementalRecoverer.html#IncrementalRecoverer()">IncrementalRecoverer</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/recovery/IncrementalRecoverer.html#recover(bitronix.tm.resource.common.XAResourceProducer)">recover</A></B>(<A HREF="../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A> xaResourceProducer)</CODE>
+
+<BR>
+ Run incremental recovery on the specified resource.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="IncrementalRecoverer()"><!-- --></A><H3>
+IncrementalRecoverer</H3>
+<PRE>
+public <B>IncrementalRecoverer</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="recover(bitronix.tm.resource.common.XAResourceProducer)"><!-- --></A><H3>
+recover</H3>
+<PRE>
+public static void <B>recover</B>(<A HREF="../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A> xaResourceProducer)
+ throws <A HREF="../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A></PRE>
+<DL>
+<DD>Run incremental recovery on the specified resource.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xaResourceProducer</CODE> - the resource to recover.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A></CODE> - when an error preventing recovery happens.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/IncrementalRecoverer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/recovery/DanglingTransaction.html" title="class in bitronix.tm.recovery"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/recovery/IncrementalRecoverer.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="IncrementalRecoverer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/recovery/Recoverer.html b/doc/api/bitronix/tm/recovery/Recoverer.html
new file mode 100644
index 0000000..440b257
--- /dev/null
+++ b/doc/api/bitronix/tm/recovery/Recoverer.html
@@ -0,0 +1,456 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Recoverer (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Recoverer (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Recoverer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/recovery/IncrementalRecoverer.html" title="class in bitronix.tm.recovery"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/recovery/RecovererMBean.html" title="interface in bitronix.tm.recovery"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/recovery/Recoverer.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Recoverer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.recovery</FONT>
+<BR>
+Class Recoverer</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.recovery.Recoverer</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../bitronix/tm/recovery/RecovererMBean.html" title="interface in bitronix.tm.recovery">RecovererMBean</A>, <A HREF="../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>Recoverer</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A>, <A HREF="../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A>, <A HREF="../../../bitronix/tm/recovery/Re [...]
+</PRE>
+
+<P>
+Recovery process implementation. Here is Mike Spille's description of XA recovery:
+ <p>
+ Straight Line Recovery:
+ <ul>
+ <li>1. Find transactions that the TM considers dangling and unresolved</li>
+ <li>2. Find and reconstitute any <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A>s which were being used when chunk blowing occured.</li>
+ <li>3. Call the <code>recover()</code> method on each of these <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A>s.</li>
+ <li>4. Throw out any <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>Xid</CODE></A>'s in the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A>' recover lists which are not owned by this TM.</li>
+ <li>5. Correlate <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>Xid</CODE></A>'s that the TM knows about with remaining <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>Xid</CODE></A>'s that the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.h [...]
+ reported.</li>
+ <li>6. For <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>Xid</CODE></A>'s that match the global transaction ID which the TM found dangling with
+ a "Committing..." record, call <code>commit()</code> on those <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A>s for those <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>Xid</CODE></A>s.</li>
+ <li>7. For <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>Xid</CODE></A>'s that do not match any dangling "Committing..." records, call
+ <code>rollback()</code> on those <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A>s for those <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>Xid</CODE></A>s.</li>
+ </ul>
+ Exceptional conditions:
+ <ul>
+ <li>1. For any <code>rollback()</code> calls from step 6 which reported a Heuristic Commit, you are in danger or
+ doubt, so run in circles, scream and shout.</li>
+ <li>2. For any <code>commit()</code> calls from step 7 which reported a Heuristic Rollback, you are in danger or
+ doubt, so run in circles, scream and shout.</li>
+ <li>3. For any resource you can't reconstitute in in step #2, or who fails on recover in step #3, or who reports
+ anything like an XAER_RMFAILURE in step 6 or step 7, keep trying to contact them in some implementation
+ defined manner.</li>
+ <li>4. For any heuristic outcome you see reported from an XAResource, call <code>forget()</code> for that
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A>/<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>Xid</CODE></A> pair so that the resource can stop holding onto a reference to that transaction</li>
+ </ul>
+ </p>
+ <p>To achieve this, <A HREF="../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery"><CODE>Recoverer</CODE></A> must have access to all previously used resources, even if the journal contains
+ no trace of some of them. There are two ways of achieving this: either you use the <A HREF="../../../bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource"><CODE>ResourceLoader</CODE></A> to configure
+ all your resources and everything will be working automatically or by making sure resources are re-created and re-registered.</p>
+ <p>Those are the three steps of the Bitronix implementation:
+ <ul>
+ <li>call <code>recover()</code> on all known resources (Mike's steps 1 to 5)</li>
+ <li>commit dangling COMMITTING transactions (Mike's step 6)</li>
+ <li>rollback any remaining recovered transaction (Mike's step 7)</li>
+ </ul></p>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/recovery/Recoverer.html#Recoverer()">Recoverer</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/recovery/Recoverer.html#getCommittedCount()">getCommittedCount</A></B>()</CODE>
+
+<BR>
+ Get the amount of transactions committed during the last recovery run.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/recovery/Recoverer.html#getCompletionException()">getCompletionException</A></B>()</CODE>
+
+<BR>
+ Get the exception reported when recovery failed.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/recovery/Recoverer.html#getExecutionsCount()">getExecutionsCount</A></B>()</CODE>
+
+<BR>
+ Get how many times the recoverer has run since the transaction manager started.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/recovery/Recoverer.html#getRolledbackCount()">getRolledbackCount</A></B>()</CODE>
+
+<BR>
+ Get the amount of transactions rolled back during the last recovery run.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/recovery/Recoverer.html#isRunning()">isRunning</A></B>()</CODE>
+
+<BR>
+ Check if the recoverer currently is running.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/recovery/Recoverer.html#run()">run</A></B>()</CODE>
+
+<BR>
+ Run the recovery process.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/recovery/Recoverer.html#shutdown()">shutdown</A></B>()</CODE>
+
+<BR>
+ Shutdown the service and free all held resources.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="Recoverer()"><!-- --></A><H3>
+Recoverer</H3>
+<PRE>
+public <B>Recoverer</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="shutdown()"><!-- --></A><H3>
+shutdown</H3>
+<PRE>
+public void <B>shutdown</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../bitronix/tm/utils/Service.html#shutdown()">Service</A></CODE></B></DD>
+<DD>Shutdown the service and free all held resources.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/utils/Service.html#shutdown()">shutdown</A></CODE> in interface <CODE><A HREF="../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="run()"><!-- --></A><H3>
+run</H3>
+<PRE>
+public void <B>run</B>()</PRE>
+<DL>
+<DD>Run the recovery process. This method is automatically called by the transaction manager, you should never
+ call it manually.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/recovery/RecovererMBean.html#run()">run</A></CODE> in interface <CODE><A HREF="../../../bitronix/tm/recovery/RecovererMBean.html" title="interface in bitronix.tm.recovery">RecovererMBean</A></CODE><DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true#run()" title="class or interface in java.lang">run</A></CODE> in interface <CODE><A HREF="http://java.sun.c [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCompletionException()"><!-- --></A><H3>
+getCompletionException</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A> <B>getCompletionException</B>()</PRE>
+<DL>
+<DD>Get the exception reported when recovery failed.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/recovery/RecovererMBean.html#getCompletionException()">getCompletionException</A></CODE> in interface <CODE><A HREF="../../../bitronix/tm/recovery/RecovererMBean.html" title="interface in bitronix.tm.recovery">RecovererMBean</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the exception that made recovery fail or null if last recovery execution was successful.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCommittedCount()"><!-- --></A><H3>
+getCommittedCount</H3>
+<PRE>
+public int <B>getCommittedCount</B>()</PRE>
+<DL>
+<DD>Get the amount of transactions committed during the last recovery run.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/recovery/RecovererMBean.html#getCommittedCount()">getCommittedCount</A></CODE> in interface <CODE><A HREF="../../../bitronix/tm/recovery/RecovererMBean.html" title="interface in bitronix.tm.recovery">RecovererMBean</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the amount of committed transactions.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRolledbackCount()"><!-- --></A><H3>
+getRolledbackCount</H3>
+<PRE>
+public int <B>getRolledbackCount</B>()</PRE>
+<DL>
+<DD>Get the amount of transactions rolled back during the last recovery run.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/recovery/RecovererMBean.html#getRolledbackCount()">getRolledbackCount</A></CODE> in interface <CODE><A HREF="../../../bitronix/tm/recovery/RecovererMBean.html" title="interface in bitronix.tm.recovery">RecovererMBean</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the amount of rolled back transactions.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getExecutionsCount()"><!-- --></A><H3>
+getExecutionsCount</H3>
+<PRE>
+public int <B>getExecutionsCount</B>()</PRE>
+<DL>
+<DD>Get how many times the recoverer has run since the transaction manager started.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/recovery/RecovererMBean.html#getExecutionsCount()">getExecutionsCount</A></CODE> in interface <CODE><A HREF="../../../bitronix/tm/recovery/RecovererMBean.html" title="interface in bitronix.tm.recovery">RecovererMBean</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>how many times the recoverer has run since the transaction manager started.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isRunning()"><!-- --></A><H3>
+isRunning</H3>
+<PRE>
+public boolean <B>isRunning</B>()</PRE>
+<DL>
+<DD>Check if the recoverer currently is running.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/recovery/RecovererMBean.html#isRunning()">isRunning</A></CODE> in interface <CODE><A HREF="../../../bitronix/tm/recovery/RecovererMBean.html" title="interface in bitronix.tm.recovery">RecovererMBean</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if the recoverer currently is running, false otherwise.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Recoverer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/recovery/IncrementalRecoverer.html" title="class in bitronix.tm.recovery"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/recovery/RecovererMBean.html" title="interface in bitronix.tm.recovery"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/recovery/Recoverer.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Recoverer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/recovery/RecovererMBean.html b/doc/api/bitronix/tm/recovery/RecovererMBean.html
new file mode 100644
index 0000000..24adfd1
--- /dev/null
+++ b/doc/api/bitronix/tm/recovery/RecovererMBean.html
@@ -0,0 +1,313 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+RecovererMBean (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="RecovererMBean (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RecovererMBean.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/recovery/RecovererMBean.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="RecovererMBean.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.recovery</FONT>
+<BR>
+Interface RecovererMBean</H2>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public interface <B>RecovererMBean</B></DL>
+</PRE>
+
+<P>
+<A HREF="../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery"><CODE>Recoverer</CODE></A> Management interface.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/recovery/RecovererMBean.html#getCommittedCount()">getCommittedCount</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/recovery/RecovererMBean.html#getCompletionException()">getCompletionException</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/recovery/RecovererMBean.html#getExecutionsCount()">getExecutionsCount</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/recovery/RecovererMBean.html#getRolledbackCount()">getRolledbackCount</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/recovery/RecovererMBean.html#isRunning()">isRunning</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/recovery/RecovererMBean.html#run()">run</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="run()"><!-- --></A><H3>
+run</H3>
+<PRE>
+void <B>run</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCommittedCount()"><!-- --></A><H3>
+getCommittedCount</H3>
+<PRE>
+int <B>getCommittedCount</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRolledbackCount()"><!-- --></A><H3>
+getRolledbackCount</H3>
+<PRE>
+int <B>getRolledbackCount</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCompletionException()"><!-- --></A><H3>
+getCompletionException</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A> <B>getCompletionException</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getExecutionsCount()"><!-- --></A><H3>
+getExecutionsCount</H3>
+<PRE>
+int <B>getExecutionsCount</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isRunning()"><!-- --></A><H3>
+isRunning</H3>
+<PRE>
+boolean <B>isRunning</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RecovererMBean.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/recovery/RecovererMBean.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="RecovererMBean.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/recovery/RecoveryException.html b/doc/api/bitronix/tm/recovery/RecoveryException.html
new file mode 100644
index 0000000..1f20eff
--- /dev/null
+++ b/doc/api/bitronix/tm/recovery/RecoveryException.html
@@ -0,0 +1,263 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+RecoveryException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="RecoveryException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RecoveryException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/recovery/RecovererMBean.html" title="interface in bitronix.tm.recovery"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/recovery/RecoveryHelper.html" title="class in bitronix.tm.recovery"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/recovery/RecoveryException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="RecoveryException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.recovery</FONT>
+<BR>
+Class RecoveryException</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">java.lang.Throwable</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">java.lang.Exception</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.recovery.RecoveryException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>RecoveryException</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></DL>
+</PRE>
+
+<P>
+Thrown when an error occurs during recovery.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#bitronix.tm.recovery.RecoveryException">Serialized Form</A></DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/recovery/RecoveryException.html#RecoveryException(java.lang.String)">RecoveryException</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/recovery/RecoveryException.html#RecoveryException(java.lang.String, java.lang.Throwable)">RecoveryException</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> cause)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#fillInStackTrace()" title="class or interface in java.lang">fillInStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getCause()" title="class or interface in java.lang">getCause</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getLocalizedMessage()" title="class or interface in java.lang [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="RecoveryException(java.lang.String, java.lang.Throwable)"><!-- --></A><H3>
+RecoveryException</H3>
+<PRE>
+public <B>RecoveryException</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> cause)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="RecoveryException(java.lang.String)"><!-- --></A><H3>
+RecoveryException</H3>
+<PRE>
+public <B>RecoveryException</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message)</PRE>
+<DL>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RecoveryException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/recovery/RecovererMBean.html" title="interface in bitronix.tm.recovery"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/recovery/RecoveryHelper.html" title="class in bitronix.tm.recovery"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/recovery/RecoveryException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="RecoveryException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/recovery/RecoveryHelper.html b/doc/api/bitronix/tm/recovery/RecoveryHelper.html
new file mode 100644
index 0000000..c42bebf
--- /dev/null
+++ b/doc/api/bitronix/tm/recovery/RecoveryHelper.html
@@ -0,0 +1,315 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+RecoveryHelper (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="RecoveryHelper (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RecoveryHelper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/recovery/RecoveryHelper.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="RecoveryHelper.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.recovery</FONT>
+<BR>
+Class RecoveryHelper</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.recovery.RecoveryHelper</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>RecoveryHelper</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+Reovery helper methods.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/recovery/RecoveryHelper.html#RecoveryHelper()">RecoveryHelper</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/recovery/RecoveryHelper.html#commit(bitronix.tm.internal.XAResourceHolderState, javax.transaction.xa.Xid)">commit</A></B>(<A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid)</CODE>
+
+<BR>
+ Commit the specified branch of a dangling transaction.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/recovery/RecoveryHelper.html#recover(bitronix.tm.internal.XAResourceHolderState)">recover</A></B>(<A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</CODE>
+
+<BR>
+ Run the recovery process on the target resource.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/recovery/RecoveryHelper.html#rollback(bitronix.tm.internal.XAResourceHolderState, javax.transaction.xa.Xid)">rollback</A></B>(<A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid)</CODE>
+
+<BR>
+ Rollback the specified branch of a dangling transaction.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="RecoveryHelper()"><!-- --></A><H3>
+RecoveryHelper</H3>
+<PRE>
+public <B>RecoveryHelper</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="recover(bitronix.tm.internal.XAResourceHolderState)"><!-- --></A><H3>
+recover</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A> <B>recover</B>(<A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></PRE>
+<DL>
+<DD>Run the recovery process on the target resource.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xaResourceHolderState</CODE> - the <A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A> to recover.
+<DT><B>Returns:</B><DD>a Set of BitronixXids.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></CODE> - if <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#recover(int)" title="class or interface in javax.transaction.xa"><CODE>XAResource.recover(int)</CODE></A> calls fail.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="commit(bitronix.tm.internal.XAResourceHolderState, javax.transaction.xa.Xid)"><!-- --></A><H3>
+commit</H3>
+<PRE>
+public static boolean <B>commit</B>(<A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid)</PRE>
+<DL>
+<DD>Commit the specified branch of a dangling transaction.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xaResourceHolderState</CODE> - the <A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A> to commit the branch on.<DD><CODE>xid</CODE> - the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>Xid</CODE></A> to commit.
+<DT><B>Returns:</B><DD>true when commit was successful.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="rollback(bitronix.tm.internal.XAResourceHolderState, javax.transaction.xa.Xid)"><!-- --></A><H3>
+rollback</H3>
+<PRE>
+public static boolean <B>rollback</B>(<A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid)</PRE>
+<DL>
+<DD>Rollback the specified branch of a dangling transaction.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xaResourceHolderState</CODE> - the <A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A> to rollback the branch on.<DD><CODE>xid</CODE> - the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>Xid</CODE></A> to rollback.
+<DT><B>Returns:</B><DD>true when rollback was successful.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RecoveryHelper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/recovery/RecoveryHelper.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="RecoveryHelper.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/recovery/class-use/DanglingTransaction.html b/doc/api/bitronix/tm/recovery/class-use/DanglingTransaction.html
new file mode 100644
index 0000000..937261d
--- /dev/null
+++ b/doc/api/bitronix/tm/recovery/class-use/DanglingTransaction.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.recovery.DanglingTransaction (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.recovery.DanglingTransaction (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/recovery/DanglingTransaction.html" title="class in bitronix.tm.recovery"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/recovery//class-useDanglingTransaction.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="DanglingTransaction.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.recovery.DanglingTransaction</B></H2>
+</CENTER>
+No usage of bitronix.tm.recovery.DanglingTransaction
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/recovery/DanglingTransaction.html" title="class in bitronix.tm.recovery"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/recovery//class-useDanglingTransaction.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="DanglingTransaction.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/recovery/class-use/IncrementalRecoverer.html b/doc/api/bitronix/tm/recovery/class-use/IncrementalRecoverer.html
new file mode 100644
index 0000000..3245d85
--- /dev/null
+++ b/doc/api/bitronix/tm/recovery/class-use/IncrementalRecoverer.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.recovery.IncrementalRecoverer (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.recovery.IncrementalRecoverer (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/recovery/IncrementalRecoverer.html" title="class in bitronix.tm.recovery"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/recovery//class-useIncrementalRecoverer.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="IncrementalRecoverer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.recovery.IncrementalRecoverer</B></H2>
+</CENTER>
+No usage of bitronix.tm.recovery.IncrementalRecoverer
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/recovery/IncrementalRecoverer.html" title="class in bitronix.tm.recovery"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/recovery//class-useIncrementalRecoverer.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="IncrementalRecoverer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/recovery/class-use/Recoverer.html b/doc/api/bitronix/tm/recovery/class-use/Recoverer.html
new file mode 100644
index 0000000..fccb453
--- /dev/null
+++ b/doc/api/bitronix/tm/recovery/class-use/Recoverer.html
@@ -0,0 +1,237 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.recovery.Recoverer (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.recovery.Recoverer (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/recovery//class-useRecoverer.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Recoverer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.recovery.Recoverer</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm"><B>bitronix.tm</B></A></TD>
+<TD>
+ JTA interfaces implementations and global services. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.timer"><B>bitronix.tm.timer</B></A></TD>
+<TD>
+ Timed tasks scheduler. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A> in <A HREF="../../../../bitronix/tm/package-summary.html">bitronix.tm</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/package-summary.html">bitronix.tm</A> that return <A HREF="../../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A></CODE></FONT></TD>
+<TD><CODE><B>TransactionManagerServices.</B><B><A HREF="../../../../bitronix/tm/TransactionManagerServices.html#getRecoverer()">getRecoverer</A></B>()</CODE>
+
+<BR>
+ Create the transaction recoverer.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.timer"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A> in <A HREF="../../../../bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A> with parameters of type <A HREF="../../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>TaskScheduler.</B><B><A HREF="../../../../bitronix/tm/timer/TaskScheduler.html#cancelRecovery(bitronix.tm.recovery.Recoverer)">cancelRecovery</A></B>(<A HREF="../../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A> recoverer)</CODE>
+
+<BR>
+ Cancel the task that will run background recovery at the specified date.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>TaskScheduler.</B><B><A HREF="../../../../bitronix/tm/timer/TaskScheduler.html#scheduleRecovery(bitronix.tm.recovery.Recoverer, java.util.Date)">scheduleRecovery</A></B>(<A HREF="../../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A> recoverer,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> executionTime)</CODE>
+
+<BR>
+ Schedule a task that will run background recovery at the specified date.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A> with parameters of type <A HREF="../../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/timer/RecoveryTask.html#RecoveryTask(bitronix.tm.recovery.Recoverer, java.util.Date, bitronix.tm.timer.TaskScheduler)">RecoveryTask</A></B>(<A HREF="../../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A> recoverer,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> executionTime,
+ <A HREF="../../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A> scheduler)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/recovery//class-useRecoverer.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Recoverer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/recovery/class-use/RecovererMBean.html b/doc/api/bitronix/tm/recovery/class-use/RecovererMBean.html
new file mode 100644
index 0000000..f5212b5
--- /dev/null
+++ b/doc/api/bitronix/tm/recovery/class-use/RecovererMBean.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Interface bitronix.tm.recovery.RecovererMBean (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface bitronix.tm.recovery.RecovererMBean (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/recovery/RecovererMBean.html" title="interface in bitronix.tm.recovery"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/recovery//class-useRecovererMBean.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="RecovererMBean.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>bitronix.tm.recovery.RecovererMBean</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../bitronix/tm/recovery/RecovererMBean.html" title="interface in bitronix.tm.recovery">RecovererMBean</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.recovery"><B>bitronix.tm.recovery</B></A></TD>
+<TD>
+ Recovery logic. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.recovery"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/recovery/RecovererMBean.html" title="interface in bitronix.tm.recovery">RecovererMBean</A> in <A HREF="../../../../bitronix/tm/recovery/package-summary.html">bitronix.tm.recovery</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../bitronix/tm/recovery/package-summary.html">bitronix.tm.recovery</A> that implement <A HREF="../../../../bitronix/tm/recovery/RecovererMBean.html" title="interface in bitronix.tm.recovery">RecovererMBean</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A></B></CODE>
+
+<BR>
+ Recovery process implementation.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/recovery/RecovererMBean.html" title="interface in bitronix.tm.recovery"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/recovery//class-useRecovererMBean.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="RecovererMBean.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/recovery/class-use/RecoveryException.html b/doc/api/bitronix/tm/recovery/class-use/RecoveryException.html
new file mode 100644
index 0000000..26e3bae
--- /dev/null
+++ b/doc/api/bitronix/tm/recovery/class-use/RecoveryException.html
@@ -0,0 +1,364 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.recovery.RecoveryException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.recovery.RecoveryException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/recovery//class-useRecoveryException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="RecoveryException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.recovery.RecoveryException</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.recovery"><B>bitronix.tm.recovery</B></A></TD>
+<TD>
+ Recovery logic. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource"><B>bitronix.tm.resource</B></A></TD>
+<TD>
+ Transaction Manager's resource management services. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.common"><B>bitronix.tm.resource.common</B></A></TD>
+<TD>
+ Resource management code common across all resource types. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.ehcache"><B>bitronix.tm.resource.ehcache</B></A></TD>
+<TD>
+ Ehcache specific resource management code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jdbc"><B>bitronix.tm.resource.jdbc</B></A></TD>
+<TD>
+ JDBC specific resource management code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jms"><B>bitronix.tm.resource.jms</B></A></TD>
+<TD>
+ Synchronous JMS specific resource management code. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.recovery"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A> in <A HREF="../../../../bitronix/tm/recovery/package-summary.html">bitronix.tm.recovery</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/recovery/package-summary.html">bitronix.tm.recovery</A> that throw <A HREF="../../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B>IncrementalRecoverer.</B><B><A HREF="../../../../bitronix/tm/recovery/IncrementalRecoverer.html#recover(bitronix.tm.resource.common.XAResourceProducer)">recover</A></B>(<A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A> xaResourceProducer)</CODE>
+
+<BR>
+ Run incremental recovery on the specified resource.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A> in <A HREF="../../../../bitronix/tm/resource/package-summary.html">bitronix.tm.resource</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/resource/package-summary.html">bitronix.tm.resource</A> that throw <A HREF="../../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B>ResourceRegistrar.</B><B><A HREF="../../../../bitronix/tm/resource/ResourceRegistrar.html#register(bitronix.tm.resource.common.XAResourceProducer)">register</A></B>(<A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A> producer)</CODE>
+
+<BR>
+ Register a <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.common"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A> in <A HREF="../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A> that throw <A HREF="../../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XAResourceProducer.</B><B><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#endRecovery()">endRecovery</A></B>()</CODE>
+
+<BR>
+ Release internal resources held after call to <code>startRecovery()</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A></CODE></FONT></TD>
+<TD><CODE><B>XAResourceProducer.</B><B><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#startRecovery()">startRecovery</A></B>()</CODE>
+
+<BR>
+ Prepare the recoverable <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> producer for recovery.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.ehcache"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A> in <A HREF="../../../../bitronix/tm/resource/ehcache/package-summary.html">bitronix.tm.resource.ehcache</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/resource/ehcache/package-summary.html">bitronix.tm.resource.ehcache</A> that throw <A HREF="../../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>EhCacheXAResourceProducer.</B><B><A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html#endRecovery()">endRecovery</A></B>()</CODE>
+
+<BR>
+ Release internal resources held after call to <code>startRecovery()</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A></CODE></FONT></TD>
+<TD><CODE><B>EhCacheXAResourceProducer.</B><B><A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html#startRecovery()">startRecovery</A></B>()</CODE>
+
+<BR>
+ Prepare the recoverable <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> producer for recovery.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jdbc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A> in <A HREF="../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A> that throw <A HREF="../../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>PoolingDataSource.</B><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#endRecovery()">endRecovery</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A></CODE></FONT></TD>
+<TD><CODE><B>PoolingDataSource.</B><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#startRecovery()">startRecovery</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jms"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A> in <A HREF="../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A> that throw <A HREF="../../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>PoolingConnectionFactory.</B><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html#endRecovery()">endRecovery</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A></CODE></FONT></TD>
+<TD><CODE><B>PoolingConnectionFactory.</B><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html#startRecovery()">startRecovery</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/recovery//class-useRecoveryException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="RecoveryException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/recovery/class-use/RecoveryHelper.html b/doc/api/bitronix/tm/recovery/class-use/RecoveryHelper.html
new file mode 100644
index 0000000..135e2a8
--- /dev/null
+++ b/doc/api/bitronix/tm/recovery/class-use/RecoveryHelper.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.recovery.RecoveryHelper (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.recovery.RecoveryHelper (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/recovery/RecoveryHelper.html" title="class in bitronix.tm.recovery"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/recovery//class-useRecoveryHelper.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="RecoveryHelper.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.recovery.RecoveryHelper</B></H2>
+</CENTER>
+No usage of bitronix.tm.recovery.RecoveryHelper
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/recovery/RecoveryHelper.html" title="class in bitronix.tm.recovery"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/recovery//class-useRecoveryHelper.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="RecoveryHelper.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/recovery/package-frame.html b/doc/api/bitronix/tm/recovery/package-frame.html
new file mode 100644
index 0000000..7e1910a
--- /dev/null
+++ b/doc/api/bitronix/tm/recovery/package-frame.html
@@ -0,0 +1,61 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.recovery (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../bitronix/tm/recovery/package-summary.html" target="classFrame">bitronix.tm.recovery</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Interfaces</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="RecovererMBean.html" title="interface in bitronix.tm.recovery" target="classFrame"><I>RecovererMBean</I></A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="DanglingTransaction.html" title="class in bitronix.tm.recovery" target="classFrame">DanglingTransaction</A>
+<BR>
+<A HREF="IncrementalRecoverer.html" title="class in bitronix.tm.recovery" target="classFrame">IncrementalRecoverer</A>
+<BR>
+<A HREF="Recoverer.html" title="class in bitronix.tm.recovery" target="classFrame">Recoverer</A>
+<BR>
+<A HREF="RecoveryHelper.html" title="class in bitronix.tm.recovery" target="classFrame">RecoveryHelper</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Exceptions</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="RecoveryException.html" title="class in bitronix.tm.recovery" target="classFrame">RecoveryException</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/recovery/package-summary.html b/doc/api/bitronix/tm/recovery/package-summary.html
new file mode 100644
index 0000000..cf64cda
--- /dev/null
+++ b/doc/api/bitronix/tm/recovery/package-summary.html
@@ -0,0 +1,216 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.recovery (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.recovery (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/journal/package-summary.html"><B>PREV PACKAGE</B></A>
+ <A HREF="../../../bitronix/tm/resource/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/recovery/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package bitronix.tm.recovery
+</H2>
+
+ Recovery logic.
+<P>
+<B>See:</B>
+<BR>
+ <A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Interface Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/recovery/RecovererMBean.html" title="interface in bitronix.tm.recovery">RecovererMBean</A></B></TD>
+<TD><A HREF="../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery"><CODE>Recoverer</CODE></A> Management interface.</TD>
+</TR>
+</TABLE>
+
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/recovery/DanglingTransaction.html" title="class in bitronix.tm.recovery">DanglingTransaction</A></B></TD>
+<TD>Simple bean containing a unique resource name paired with a XID corresponding to a branch on that resource.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/recovery/IncrementalRecoverer.html" title="class in bitronix.tm.recovery">IncrementalRecoverer</A></B></TD>
+<TD>Incremental resource recoverer.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A></B></TD>
+<TD>Recovery process implementation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/recovery/RecoveryHelper.html" title="class in bitronix.tm.recovery">RecoveryHelper</A></B></TD>
+<TD>Reovery helper methods.</TD>
+</TR>
+</TABLE>
+
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Exception Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A></B></TD>
+<TD>Thrown when an error occurs during recovery.</TD>
+</TR>
+</TABLE>
+
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package bitronix.tm.recovery Description
+</H2>
+
+<P>
+<p>
+ Recovery logic.
+ </p>
+<P>
+
+<P>
+<DL>
+</DL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/journal/package-summary.html"><B>PREV PACKAGE</B></A>
+ <A HREF="../../../bitronix/tm/resource/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/recovery/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/recovery/package-tree.html b/doc/api/bitronix/tm/recovery/package-tree.html
new file mode 100644
index 0000000..8dcb3ad
--- /dev/null
+++ b/doc/api/bitronix/tm/recovery/package-tree.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.recovery Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.recovery Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/journal/package-tree.html"><B>PREV</B></A>
+ <A HREF="../../../bitronix/tm/resource/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/recovery/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package bitronix.tm.recovery
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">bitronix.tm.recovery.<A HREF="../../../bitronix/tm/recovery/DanglingTransaction.html" title="class in bitronix.tm.recovery"><B>DanglingTransaction</B></A><LI TYPE="circle">bitronix.tm.recovery.<A HREF="../../../bitronix/tm/recovery/IncrementalRecoverer.html" title="class in bitronix.tm.recovery"><B>IncrementalRecoverer</B></A><LI TYPE="circle">bitronix.tm.recovery.<A HREF="../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery"><B>Recoverer</ [...]
+<LI TYPE="circle">bitronix.tm.recovery.<A HREF="../../../bitronix/tm/recovery/RecoveryHelper.html" title="class in bitronix.tm.recovery"><B>RecoveryHelper</B></A><LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><B>Throwable</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io [...]
+<UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><B>Exception</B></A><UL>
+<LI TYPE="circle">bitronix.tm.recovery.<A HREF="../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery"><B>RecoveryException</B></A></UL>
+</UL>
+</UL>
+</UL>
+<H2>
+Interface Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">bitronix.tm.recovery.<A HREF="../../../bitronix/tm/recovery/RecovererMBean.html" title="interface in bitronix.tm.recovery"><B>RecovererMBean</B></A></UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/journal/package-tree.html"><B>PREV</B></A>
+ <A HREF="../../../bitronix/tm/resource/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/recovery/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/recovery/package-use.html b/doc/api/bitronix/tm/recovery/package-use.html
new file mode 100644
index 0000000..3475991
--- /dev/null
+++ b/doc/api/bitronix/tm/recovery/package-use.html
@@ -0,0 +1,318 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Package bitronix.tm.recovery (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Package bitronix.tm.recovery (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/recovery/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>bitronix.tm.recovery</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../bitronix/tm/recovery/package-summary.html">bitronix.tm.recovery</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm"><B>bitronix.tm</B></A></TD>
+<TD>
+ JTA interfaces implementations and global services. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.recovery"><B>bitronix.tm.recovery</B></A></TD>
+<TD>
+ Recovery logic. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource"><B>bitronix.tm.resource</B></A></TD>
+<TD>
+ Transaction Manager's resource management services. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.common"><B>bitronix.tm.resource.common</B></A></TD>
+<TD>
+ Resource management code common across all resource types. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.ehcache"><B>bitronix.tm.resource.ehcache</B></A></TD>
+<TD>
+ Ehcache specific resource management code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jdbc"><B>bitronix.tm.resource.jdbc</B></A></TD>
+<TD>
+ JDBC specific resource management code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jms"><B>bitronix.tm.resource.jms</B></A></TD>
+<TD>
+ Synchronous JMS specific resource management code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.timer"><B>bitronix.tm.timer</B></A></TD>
+<TD>
+ Timed tasks scheduler. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/recovery/package-summary.html">bitronix.tm.recovery</A> used by <A HREF="../../../bitronix/tm/package-summary.html">bitronix.tm</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/recovery/class-use/Recoverer.html#bitronix.tm"><B>Recoverer</B></A></B>
+
+<BR>
+ Recovery process implementation.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.recovery"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/recovery/package-summary.html">bitronix.tm.recovery</A> used by <A HREF="../../../bitronix/tm/recovery/package-summary.html">bitronix.tm.recovery</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/recovery/class-use/RecovererMBean.html#bitronix.tm.recovery"><B>RecovererMBean</B></A></B>
+
+<BR>
+ <A HREF="../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery"><CODE>Recoverer</CODE></A> Management interface.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/recovery/class-use/RecoveryException.html#bitronix.tm.recovery"><B>RecoveryException</B></A></B>
+
+<BR>
+ Thrown when an error occurs during recovery.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/recovery/package-summary.html">bitronix.tm.recovery</A> used by <A HREF="../../../bitronix/tm/resource/package-summary.html">bitronix.tm.resource</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/recovery/class-use/RecoveryException.html#bitronix.tm.resource"><B>RecoveryException</B></A></B>
+
+<BR>
+ Thrown when an error occurs during recovery.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.common"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/recovery/package-summary.html">bitronix.tm.recovery</A> used by <A HREF="../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/recovery/class-use/RecoveryException.html#bitronix.tm.resource.common"><B>RecoveryException</B></A></B>
+
+<BR>
+ Thrown when an error occurs during recovery.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.ehcache"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/recovery/package-summary.html">bitronix.tm.recovery</A> used by <A HREF="../../../bitronix/tm/resource/ehcache/package-summary.html">bitronix.tm.resource.ehcache</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/recovery/class-use/RecoveryException.html#bitronix.tm.resource.ehcache"><B>RecoveryException</B></A></B>
+
+<BR>
+ Thrown when an error occurs during recovery.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jdbc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/recovery/package-summary.html">bitronix.tm.recovery</A> used by <A HREF="../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/recovery/class-use/RecoveryException.html#bitronix.tm.resource.jdbc"><B>RecoveryException</B></A></B>
+
+<BR>
+ Thrown when an error occurs during recovery.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jms"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/recovery/package-summary.html">bitronix.tm.recovery</A> used by <A HREF="../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/recovery/class-use/RecoveryException.html#bitronix.tm.resource.jms"><B>RecoveryException</B></A></B>
+
+<BR>
+ Thrown when an error occurs during recovery.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.timer"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/recovery/package-summary.html">bitronix.tm.recovery</A> used by <A HREF="../../../bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/recovery/class-use/Recoverer.html#bitronix.tm.timer"><B>Recoverer</B></A></B>
+
+<BR>
+ Recovery process implementation.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/recovery/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/ResourceConfigurationException.html b/doc/api/bitronix/tm/resource/ResourceConfigurationException.html
new file mode 100644
index 0000000..f8f5ac7
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/ResourceConfigurationException.html
@@ -0,0 +1,264 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:05 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+ResourceConfigurationException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="ResourceConfigurationException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ResourceConfigurationException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/resource/ResourceConfigurationException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ResourceConfigurationException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource</FONT>
+<BR>
+Class ResourceConfigurationException</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">java.lang.Throwable</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">java.lang.Exception</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang">java.lang.RuntimeException</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.ResourceConfigurationException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>ResourceConfigurationException</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang">RuntimeException</A></DL>
+</PRE>
+
+<P>
+Thrown when a resource cannot be created due to a configuration error.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#bitronix.tm.resource.ResourceConfigurationException">Serialized Form</A></DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/resource/ResourceConfigurationException.html#ResourceConfigurationException(java.lang.String)">ResourceConfigurationException</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/resource/ResourceConfigurationException.html#ResourceConfigurationException(java.lang.String, java.lang.Throwable)">ResourceConfigurationException</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> cause)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#fillInStackTrace()" title="class or interface in java.lang">fillInStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getCause()" title="class or interface in java.lang">getCause</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getLocalizedMessage()" title="class or interface in java.lang [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="ResourceConfigurationException(java.lang.String, java.lang.Throwable)"><!-- --></A><H3>
+ResourceConfigurationException</H3>
+<PRE>
+public <B>ResourceConfigurationException</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> cause)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="ResourceConfigurationException(java.lang.String)"><!-- --></A><H3>
+ResourceConfigurationException</H3>
+<PRE>
+public <B>ResourceConfigurationException</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> s)</PRE>
+<DL>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ResourceConfigurationException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/resource/ResourceConfigurationException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ResourceConfigurationException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/ResourceLoader.html b/doc/api/bitronix/tm/resource/ResourceLoader.html
new file mode 100644
index 0000000..e8e5a8a
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/ResourceLoader.html
@@ -0,0 +1,327 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:05 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+ResourceLoader (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="ResourceLoader (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ResourceLoader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/resource/ResourceConfigurationException.html" title="class in bitronix.tm.resource"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/resource/ResourceObjectFactory.html" title="class in bitronix.tm.resource"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/resource/ResourceLoader.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ResourceLoader.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource</FONT>
+<BR>
+Class ResourceLoader</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.ResourceLoader</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>ResourceLoader</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></DL>
+</PRE>
+
+<P>
+XA resources pools configurator & loader.
+ <p><A HREF="../../../bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource"><CODE>ResourceLoader</CODE></A> relies on the optional <code>bitronix.tm.resource.configuration</code> propery to load the
+ JDBC datasources (<A HREF="../../../bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc"><CODE>PoolingDataSource</CODE></A>) and JMS connection factories
+ (<A HREF="../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms"><CODE>PoolingConnectionFactory</CODE></A>) configuration file and create the resources.</p>
+ <p>When <code>bitronix.tm.resource.configuration</code> is not specified, ResourceLoader is disabled and resources
+ should be manually created.</p>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/resource/ResourceLoader.html#ResourceLoader()">ResourceLoader</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/resource/ResourceLoader.html#getResources()">getResources</A></B>()</CODE>
+
+<BR>
+ Get a Map with the configured uniqueName as key and <A HREF="../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> as value.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/resource/ResourceLoader.html#init()">init</A></B>()</CODE>
+
+<BR>
+ Initialize the ResourceLoader and load the resources configuration file specified in
+ <code>bitronix.tm.resource.configuration</code> property.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/resource/ResourceLoader.html#shutdown()">shutdown</A></B>()</CODE>
+
+<BR>
+ Shutdown the service and free all held resources.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="ResourceLoader()"><!-- --></A><H3>
+ResourceLoader</H3>
+<PRE>
+public <B>ResourceLoader</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getResources()"><!-- --></A><H3>
+getResources</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A> <B>getResources</B>()</PRE>
+<DL>
+<DD>Get a Map with the configured uniqueName as key and <A HREF="../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> as value.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a Map using the uniqueName as key and <A HREF="../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> as value.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="init()"><!-- --></A><H3>
+init</H3>
+<PRE>
+public int <B>init</B>()</PRE>
+<DL>
+<DD>Initialize the ResourceLoader and load the resources configuration file specified in
+ <code>bitronix.tm.resource.configuration</code> property.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the number of resources which failed to initialize.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="shutdown()"><!-- --></A><H3>
+shutdown</H3>
+<PRE>
+public void <B>shutdown</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../bitronix/tm/utils/Service.html#shutdown()">Service</A></CODE></B></DD>
+<DD>Shutdown the service and free all held resources.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/utils/Service.html#shutdown()">shutdown</A></CODE> in interface <CODE><A HREF="../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ResourceLoader.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/resource/ResourceConfigurationException.html" title="class in bitronix.tm.resource"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/resource/ResourceObjectFactory.html" title="class in bitronix.tm.resource"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/resource/ResourceLoader.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ResourceLoader.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/ResourceObjectFactory.html b/doc/api/bitronix/tm/resource/ResourceObjectFactory.html
new file mode 100644
index 0000000..e32a408
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/ResourceObjectFactory.html
@@ -0,0 +1,276 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:05 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+ResourceObjectFactory (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="ResourceObjectFactory (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ResourceObjectFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/resource/ResourceRegistrar.html" title="class in bitronix.tm.resource"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/resource/ResourceObjectFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ResourceObjectFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource</FONT>
+<BR>
+Class ResourceObjectFactory</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.ResourceObjectFactory</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/ObjectFactory.html?is-external=true" title="class or interface in javax.naming.spi">ObjectFactory</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>ResourceObjectFactory</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/ObjectFactory.html?is-external=true" title="class or interface in javax.naming.spi">ObjectFactory</A></DL>
+</PRE>
+
+<P>
+<A HREF="../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> object factory for JNDI references.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common"><CODE>ResourceBean</CODE></A></DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/resource/ResourceObjectFactory.html#ResourceObjectFactory()">ResourceObjectFactory</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/resource/ResourceObjectFactory.html#getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable)">getObjectInstance</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> obj,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> jndiNameObject,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A> nameCtx,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</A> environment)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="ResourceObjectFactory()"><!-- --></A><H3>
+ResourceObjectFactory</H3>
+<PRE>
+public <B>ResourceObjectFactory</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable)"><!-- --></A><H3>
+getObjectInstance</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getObjectInstance</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> obj,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Name.html?is-external=true" title="class or interface in javax.naming">Name</A> jndiNameObject,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A> nameCtx,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Hashtable.html?is-external=true" title="class or interface in java.util">Hashtable</A> environment)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/ObjectFactory.html?is-external=true#getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable)" title="class or interface in javax.naming.spi">getObjectInstance</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/ObjectFactory.html?is-external=true" title="class or interface in javax.naming.spi">ObjectFactor [...]
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ResourceObjectFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/resource/ResourceRegistrar.html" title="class in bitronix.tm.resource"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/resource/ResourceObjectFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ResourceObjectFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/ResourceRegistrar.html b/doc/api/bitronix/tm/resource/ResourceRegistrar.html
new file mode 100644
index 0000000..d97c085
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/ResourceRegistrar.html
@@ -0,0 +1,355 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:05 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+ResourceRegistrar (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="ResourceRegistrar (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ResourceRegistrar.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/resource/ResourceObjectFactory.html" title="class in bitronix.tm.resource"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/resource/ResourceRegistrar.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ResourceRegistrar.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource</FONT>
+<BR>
+Class ResourceRegistrar</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.ResourceRegistrar</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>ResourceRegistrar</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+Collection of initialized <A HREF="../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>s. All resources must be registered in the <A HREF="../../../bitronix/tm/resource/ResourceRegistrar.html" title="class in bitronix.tm.resource"><CODE>ResourceRegistrar</CODE></A>
+ before they can be used by the transaction manager.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/resource/ResourceRegistrar.html#ResourceRegistrar()">ResourceRegistrar</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/resource/ResourceRegistrar.html#findXAResourceHolder(javax.transaction.xa.XAResource)">findXAResourceHolder</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)</CODE>
+
+<BR>
+ Find in the registered <A HREF="../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>s the <A HREF="../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> from which the specified <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/X [...]
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/resource/ResourceRegistrar.html#get(java.lang.String)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> uniqueName)</CODE>
+
+<BR>
+ Get a registered <A HREF="../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/resource/ResourceRegistrar.html#getResourcesUniqueNames()">getResourcesUniqueNames</A></B>()</CODE>
+
+<BR>
+ Get all <A HREF="../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>s unique names.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/resource/ResourceRegistrar.html#register(bitronix.tm.resource.common.XAResourceProducer)">register</A></B>(<A HREF="../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A> producer)</CODE>
+
+<BR>
+ Register a <A HREF="../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/resource/ResourceRegistrar.html#unregister(bitronix.tm.resource.common.XAResourceProducer)">unregister</A></B>(<A HREF="../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A> producer)</CODE>
+
+<BR>
+ Unregister a previously registered <A HREF="../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="ResourceRegistrar()"><!-- --></A><H3>
+ResourceRegistrar</H3>
+<PRE>
+public <B>ResourceRegistrar</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="get(java.lang.String)"><!-- --></A><H3>
+get</H3>
+<PRE>
+public static <A HREF="../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A> <B>get</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> uniqueName)</PRE>
+<DL>
+<DD>Get a registered <A HREF="../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>uniqueName</CODE> - the name of the recoverable resource producer.
+<DT><B>Returns:</B><DD>the <A HREF="../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> or null if there was none registered under that name.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getResourcesUniqueNames()"><!-- --></A><H3>
+getResourcesUniqueNames</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A> <B>getResourcesUniqueNames</B>()</PRE>
+<DL>
+<DD>Get all <A HREF="../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>s unique names.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a Set containing all <A HREF="../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>s unique names.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="register(bitronix.tm.resource.common.XAResourceProducer)"><!-- --></A><H3>
+register</H3>
+<PRE>
+public static void <B>register</B>(<A HREF="../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A> producer)
+ throws <A HREF="../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A></PRE>
+<DL>
+<DD>Register a <A HREF="../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>. If registration happens after the transaction manager started, incremental
+ recovery is run on that resource.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>producer</CODE> - the <A HREF="../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A></CODE> - when an error happens during recovery.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="unregister(bitronix.tm.resource.common.XAResourceProducer)"><!-- --></A><H3>
+unregister</H3>
+<PRE>
+public static void <B>unregister</B>(<A HREF="../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A> producer)</PRE>
+<DL>
+<DD>Unregister a previously registered <A HREF="../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>producer</CODE> - the <A HREF="../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="findXAResourceHolder(javax.transaction.xa.XAResource)"><!-- --></A><H3>
+findXAResourceHolder</H3>
+<PRE>
+public static <A HREF="../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> <B>findXAResourceHolder</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)</PRE>
+<DL>
+<DD>Find in the registered <A HREF="../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>s the <A HREF="../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> from which the specified <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interfa [...]
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xaResource</CODE> - the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> to look for
+<DT><B>Returns:</B><DD>the associated <A HREF="../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> or null if it cannot be found.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ResourceRegistrar.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/resource/ResourceObjectFactory.html" title="class in bitronix.tm.resource"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/resource/ResourceRegistrar.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ResourceRegistrar.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/class-use/ResourceConfigurationException.html b/doc/api/bitronix/tm/resource/class-use/ResourceConfigurationException.html
new file mode 100644
index 0000000..d863cc5
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/class-use/ResourceConfigurationException.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.ResourceConfigurationException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.ResourceConfigurationException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/resource/ResourceConfigurationException.html" title="class in bitronix.tm.resource"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource//class-useResourceConfigurationException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ResourceConfigurationException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.ResourceConfigurationException</B></H2>
+</CENTER>
+No usage of bitronix.tm.resource.ResourceConfigurationException
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/resource/ResourceConfigurationException.html" title="class in bitronix.tm.resource"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource//class-useResourceConfigurationException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ResourceConfigurationException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/class-use/ResourceLoader.html b/doc/api/bitronix/tm/resource/class-use/ResourceLoader.html
new file mode 100644
index 0000000..d426174
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/class-use/ResourceLoader.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.ResourceLoader (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.ResourceLoader (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource//class-useResourceLoader.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ResourceLoader.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.ResourceLoader</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource">ResourceLoader</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm"><B>bitronix.tm</B></A></TD>
+<TD>
+ JTA interfaces implementations and global services. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource">ResourceLoader</A> in <A HREF="../../../../bitronix/tm/package-summary.html">bitronix.tm</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/package-summary.html">bitronix.tm</A> that return <A HREF="../../../../bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource">ResourceLoader</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../../bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource">ResourceLoader</A></CODE></FONT></TD>
+<TD><CODE><B>TransactionManagerServices.</B><B><A HREF="../../../../bitronix/tm/TransactionManagerServices.html#getResourceLoader()">getResourceLoader</A></B>()</CODE>
+
+<BR>
+ Create the resource loader.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource//class-useResourceLoader.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ResourceLoader.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/class-use/ResourceObjectFactory.html b/doc/api/bitronix/tm/resource/class-use/ResourceObjectFactory.html
new file mode 100644
index 0000000..b407d16
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/class-use/ResourceObjectFactory.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.ResourceObjectFactory (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.ResourceObjectFactory (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/resource/ResourceObjectFactory.html" title="class in bitronix.tm.resource"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource//class-useResourceObjectFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ResourceObjectFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.ResourceObjectFactory</B></H2>
+</CENTER>
+No usage of bitronix.tm.resource.ResourceObjectFactory
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/resource/ResourceObjectFactory.html" title="class in bitronix.tm.resource"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource//class-useResourceObjectFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ResourceObjectFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/class-use/ResourceRegistrar.html b/doc/api/bitronix/tm/resource/class-use/ResourceRegistrar.html
new file mode 100644
index 0000000..770da7c
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/class-use/ResourceRegistrar.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.ResourceRegistrar (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.ResourceRegistrar (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/resource/ResourceRegistrar.html" title="class in bitronix.tm.resource"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource//class-useResourceRegistrar.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ResourceRegistrar.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.ResourceRegistrar</B></H2>
+</CENTER>
+No usage of bitronix.tm.resource.ResourceRegistrar
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/resource/ResourceRegistrar.html" title="class in bitronix.tm.resource"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource//class-useResourceRegistrar.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ResourceRegistrar.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/common/AbstractXAResourceHolder.html b/doc/api/bitronix/tm/resource/common/AbstractXAResourceHolder.html
new file mode 100644
index 0000000..91c317c
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/common/AbstractXAResourceHolder.html
@@ -0,0 +1,455 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+AbstractXAResourceHolder (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="AbstractXAResourceHolder (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AbstractXAResourceHolder.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/common/AbstractXAResourceHolder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="AbstractXAResourceHolder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.common</FONT>
+<BR>
+Class AbstractXAResourceHolder</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">bitronix.tm.resource.common.AbstractXAStatefulHolder</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.common.AbstractXAResourceHolder</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>, <A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html" title="class in bitronix.tm.resource.ehcache">EhCacheXAResourceHolder</A>, <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A>, <A HREF="../../.. [...]
+</DL>
+<HR>
+<DL>
+<DT><PRE>public abstract class <B>AbstractXAResourceHolder</B><DT>extends <A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">AbstractXAStatefulHolder</A><DT>implements <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></DL>
+</PRE>
+
+<P>
+Implementation of all services required by a <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>. This class keeps a list of all
+ <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A>s of the <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> plus the currently active one. There is
+ one per transaction in which this <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> is enlisted plus all the suspended transactions in which
+ it is enlisted as well.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_bitronix.tm.resource.common.XAStatefulHolder"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_ACCESSIBLE">STATE_ACCESSIBLE</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_CLOSED">STATE_CLOSED</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_IN_POOL">STATE_IN_POOL</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_NOT_ACCESSIBLE">STATE_NOT_ACCESSIBLE</A></CODE></TD>
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html#AbstractXAResourceHolder()">AbstractXAResourceHolder</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html#getXAResourceHolderStateGtrids()">getXAResourceHolderStateGtrids</A></B>()</CODE>
+
+<BR>
+ Simple helper method which returns a set of GTRIDs of transactions in which
+ this resource is enlisted.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html#getXAResourceHolderStatesForGtrid(bitronix.tm.utils.Uid)">getXAResourceHolderStatesForGtrid</A></B>(<A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> gtrid)</CODE>
+
+<BR>
+ Get all the <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A>s of this wrapped resource for a specific GTRID.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html#hasStateForXAResource(bitronix.tm.resource.common.XAResourceHolder)">hasStateForXAResource</A></B>(<A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> xaResourceHolder)</CODE>
+
+<BR>
+ Check if this <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> contains a state for a specific <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html#isParticipatingInActiveGlobalTransaction()">isParticipatingInActiveGlobalTransaction</A></B>()</CODE>
+
+<BR>
+ If this method returns false, then local transaction calls like Connection.commit() can be made.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html#putXAResourceHolderState(bitronix.tm.BitronixXid, bitronix.tm.internal.XAResourceHolderState)">putXAResourceHolderState</A></B>(<A HREF="../../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A> xid,
+ <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</CODE>
+
+<BR>
+ Add a <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A> of this wrapped resource.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html#removeXAResourceHolderState(bitronix.tm.BitronixXid)">removeXAResourceHolderState</A></B>(<A HREF="../../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A> xid)</CODE>
+
+<BR>
+ Remove all states related to a specific Xid from this wrapped resource.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.common.AbstractXAStatefulHolder"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">AbstractXAStatefulHolder</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html#addStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">addStateChangeEventListener</A>, <A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html#getState()">getState</A>, <A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html#removeStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">removeStateChangeEventListe [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.common.XAResourceHolder"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from interface bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html#getResourceBean()">getResourceBean</A>, <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html#getXAResource()">getXAResource</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.common.XAStatefulHolder"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from interface bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#addStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">addStateChangeEventListener</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#close()">close</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getConnectionHandle()">getConnectionHandle</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getLastReleaseDate( [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="AbstractXAResourceHolder()"><!-- --></A><H3>
+AbstractXAResourceHolder</H3>
+<PRE>
+public <B>AbstractXAResourceHolder</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getXAResourceHolderStatesForGtrid(bitronix.tm.utils.Uid)"><!-- --></A><H3>
+getXAResourceHolderStatesForGtrid</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A> <B>getXAResourceHolderStatesForGtrid</B>(<A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> gtrid)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html#getXAResourceHolderStatesForGtrid(bitronix.tm.utils.Uid)">XAResourceHolder</A></CODE></B></DD>
+<DD>Get all the <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A>s of this wrapped resource for a specific GTRID.
+ <p>The returned Map is guaranteed to return states in order they were added when its values are iterated.</p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html#getXAResourceHolderStatesForGtrid(bitronix.tm.utils.Uid)">getXAResourceHolderStatesForGtrid</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>gtrid</CODE> - the GTRID of the transaction state to add.
+<DT><B>Returns:</B><DD>the <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A>.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="putXAResourceHolderState(bitronix.tm.BitronixXid, bitronix.tm.internal.XAResourceHolderState)"><!-- --></A><H3>
+putXAResourceHolderState</H3>
+<PRE>
+public void <B>putXAResourceHolderState</B>(<A HREF="../../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A> xid,
+ <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html#putXAResourceHolderState(bitronix.tm.BitronixXid, bitronix.tm.internal.XAResourceHolderState)">XAResourceHolder</A></CODE></B></DD>
+<DD>Add a <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A> of this wrapped resource.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html#putXAResourceHolderState(bitronix.tm.BitronixXid, bitronix.tm.internal.XAResourceHolderState)">putXAResourceHolderState</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xid</CODE> - the Xid of the transaction state to add.<DD><CODE>xaResourceHolderState</CODE> - the <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A> to set.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeXAResourceHolderState(bitronix.tm.BitronixXid)"><!-- --></A><H3>
+removeXAResourceHolderState</H3>
+<PRE>
+public void <B>removeXAResourceHolderState</B>(<A HREF="../../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A> xid)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html#removeXAResourceHolderState(bitronix.tm.BitronixXid)">XAResourceHolder</A></CODE></B></DD>
+<DD>Remove all states related to a specific Xid from this wrapped resource.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html#removeXAResourceHolderState(bitronix.tm.BitronixXid)">removeXAResourceHolderState</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xid</CODE> - the Xid of the transaction state to remove.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasStateForXAResource(bitronix.tm.resource.common.XAResourceHolder)"><!-- --></A><H3>
+hasStateForXAResource</H3>
+<PRE>
+public boolean <B>hasStateForXAResource</B>(<A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> xaResourceHolder)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html#hasStateForXAResource(bitronix.tm.resource.common.XAResourceHolder)">XAResourceHolder</A></CODE></B></DD>
+<DD>Check if this <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> contains a state for a specific <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>.
+ In other words: has the <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>'s <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> been enlisted in some transaction ?
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html#hasStateForXAResource(bitronix.tm.resource.common.XAResourceHolder)">hasStateForXAResource</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xaResourceHolder</CODE> - the <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> to look for.
+<DT><B>Returns:</B><DD>true if the <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> is enlisted in some transaction, false otherwise.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isParticipatingInActiveGlobalTransaction()"><!-- --></A><H3>
+isParticipatingInActiveGlobalTransaction</H3>
+<PRE>
+public boolean <B>isParticipatingInActiveGlobalTransaction</B>()</PRE>
+<DL>
+<DD>If this method returns false, then local transaction calls like Connection.commit() can be made.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if start() has been successfully called but not end() yet <i>and</i> the transaction is not suspended.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXAResourceHolderStateGtrids()"><!-- --></A><H3>
+getXAResourceHolderStateGtrids</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A> <B>getXAResourceHolderStateGtrids</B>()</PRE>
+<DL>
+<DD>Simple helper method which returns a set of GTRIDs of transactions in which
+ this resource is enlisted. Useful for monitoring.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a set of String-encoded GTRIDs of transactions in which this resource is enlisted.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AbstractXAResourceHolder.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/common/AbstractXAResourceHolder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="AbstractXAResourceHolder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/common/AbstractXAStatefulHolder.html b/doc/api/bitronix/tm/resource/common/AbstractXAStatefulHolder.html
new file mode 100644
index 0000000..ad3b212
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/common/AbstractXAStatefulHolder.html
@@ -0,0 +1,378 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+AbstractXAStatefulHolder (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="AbstractXAStatefulHolder (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AbstractXAStatefulHolder.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/common/DeferredReleaseSynchronization.html" title="class in bitronix.tm.resource.common"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/common/AbstractXAStatefulHolder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="AbstractXAStatefulHolder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.common</FONT>
+<BR>
+Class AbstractXAStatefulHolder</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.common.AbstractXAStatefulHolder</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A>, <A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public abstract class <B>AbstractXAStatefulHolder</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></DL>
+</PRE>
+
+<P>
+Implementation of all services required by a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_bitronix.tm.resource.common.XAStatefulHolder"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_ACCESSIBLE">STATE_ACCESSIBLE</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_CLOSED">STATE_CLOSED</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_IN_POOL">STATE_IN_POOL</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_NOT_ACCESSIBLE">STATE_NOT_ACCESSIBLE</A></CODE></TD>
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html#AbstractXAStatefulHolder()">AbstractXAStatefulHolder</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html#addStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">addStateChangeEventListener</A></B>(<A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A> listener)</CODE>
+
+<BR>
+ Register an implementation of <A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common"><CODE>StateChangeListener</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html#getState()">getState</A></B>()</CODE>
+
+<BR>
+ Get the current resource state.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html#removeStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">removeStateChangeEventListener</A></B>(<A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A> listener)</CODE>
+
+<BR>
+ Unregister an implementation of <A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common"><CODE>StateChangeListener</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html#setState(int)">setState</A></B>(int state)</CODE>
+
+<BR>
+ Set the current resource state.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.common.XAStatefulHolder"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from interface bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#close()">close</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getConnectionHandle()">getConnectionHandle</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getLastReleaseDate()">getLastReleaseDate</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getXAResourceHolders()">getXAResourceHolders</A></CODE></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="AbstractXAStatefulHolder()"><!-- --></A><H3>
+AbstractXAStatefulHolder</H3>
+<PRE>
+public <B>AbstractXAStatefulHolder</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getState()"><!-- --></A><H3>
+getState</H3>
+<PRE>
+public int <B>getState</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getState()">XAStatefulHolder</A></CODE></B></DD>
+<DD>Get the current resource state.
+ <p>This method is thread-safe.</p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getState()">getState</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the current resource state.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setState(int)"><!-- --></A><H3>
+setState</H3>
+<PRE>
+public void <B>setState</B>(int state)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#setState(int)">XAStatefulHolder</A></CODE></B></DD>
+<DD>Set the current resource state.
+ <p>This method is thread-safe.</p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#setState(int)">setState</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>state</CODE> - the current resource state.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)"><!-- --></A><H3>
+addStateChangeEventListener</H3>
+<PRE>
+public void <B>addStateChangeEventListener</B>(<A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A> listener)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#addStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">XAStatefulHolder</A></CODE></B></DD>
+<DD>Register an implementation of <A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common"><CODE>StateChangeListener</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#addStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">addStateChangeEventListener</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>listener</CODE> - the <A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common"><CODE>StateChangeListener</CODE></A> implementation to register.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)"><!-- --></A><H3>
+removeStateChangeEventListener</H3>
+<PRE>
+public void <B>removeStateChangeEventListener</B>(<A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A> listener)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#removeStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">XAStatefulHolder</A></CODE></B></DD>
+<DD>Unregister an implementation of <A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common"><CODE>StateChangeListener</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#removeStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">removeStateChangeEventListener</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>listener</CODE> - the <A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common"><CODE>StateChangeListener</CODE></A> implementation to unregister.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AbstractXAStatefulHolder.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/common/DeferredReleaseSynchronization.html" title="class in bitronix.tm.resource.common"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/common/AbstractXAStatefulHolder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="AbstractXAStatefulHolder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/common/DeferredReleaseSynchronization.html b/doc/api/bitronix/tm/resource/common/DeferredReleaseSynchronization.html
new file mode 100644
index 0000000..2aa613b
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/common/DeferredReleaseSynchronization.html
@@ -0,0 +1,333 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+DeferredReleaseSynchronization (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="DeferredReleaseSynchronization (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DeferredReleaseSynchronization.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/common/DeferredReleaseSynchronization.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="DeferredReleaseSynchronization.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.common</FONT>
+<BR>
+Class DeferredReleaseSynchronization</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.common.DeferredReleaseSynchronization</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Synchronization.html?is-external=true" title="class or interface in javax.transaction">Synchronization</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>DeferredReleaseSynchronization</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Synchronization.html?is-external=true" title="class or interface in javax.transaction">Synchronization</A></DL>
+</PRE>
+
+<P>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Synchronization.html?is-external=true" title="class or interface in javax.transaction"><CODE>Synchronization</CODE></A> used to release a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> object after 2PC has executed.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/DeferredReleaseSynchronization.html#DeferredReleaseSynchronization(bitronix.tm.resource.common.XAStatefulHolder)">DeferredReleaseSynchronization</A></B>(<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> xaStatefulHolder)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/DeferredReleaseSynchronization.html#afterCompletion(int)">afterCompletion</A></B>(int status)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/DeferredReleaseSynchronization.html#beforeCompletion()">beforeCompletion</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/DeferredReleaseSynchronization.html#getXAStatefulHolder()">getXAStatefulHolder</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/DeferredReleaseSynchronization.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="DeferredReleaseSynchronization(bitronix.tm.resource.common.XAStatefulHolder)"><!-- --></A><H3>
+DeferredReleaseSynchronization</H3>
+<PRE>
+public <B>DeferredReleaseSynchronization</B>(<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> xaStatefulHolder)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getXAStatefulHolder()"><!-- --></A><H3>
+getXAStatefulHolder</H3>
+<PRE>
+public <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> <B>getXAStatefulHolder</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="afterCompletion(int)"><!-- --></A><H3>
+afterCompletion</H3>
+<PRE>
+public void <B>afterCompletion</B>(int status)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Synchronization.html?is-external=true#afterCompletion(int)" title="class or interface in javax.transaction">afterCompletion</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Synchronization.html?is-external=true" title="class or interface in javax.transaction">Synchronization</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="beforeCompletion()"><!-- --></A><H3>
+beforeCompletion</H3>
+<PRE>
+public void <B>beforeCompletion</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Synchronization.html?is-external=true#beforeCompletion()" title="class or interface in javax.transaction">beforeCompletion</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Synchronization.html?is-external=true" title="class or interface in javax.transaction">Synchronization</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DeferredReleaseSynchronization.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/common/DeferredReleaseSynchronization.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="DeferredReleaseSynchronization.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/common/RecoveryXAResourceHolder.html b/doc/api/bitronix/tm/resource/common/RecoveryXAResourceHolder.html
new file mode 100644
index 0000000..d652b15
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/common/RecoveryXAResourceHolder.html
@@ -0,0 +1,444 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+RecoveryXAResourceHolder (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="RecoveryXAResourceHolder (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RecoveryXAResourceHolder.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/common/DeferredReleaseSynchronization.html" title="class in bitronix.tm.resource.common"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/common/RecoveryXAResourceHolder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="RecoveryXAResourceHolder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.common</FONT>
+<BR>
+Class RecoveryXAResourceHolder</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">bitronix.tm.resource.common.AbstractXAStatefulHolder</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">bitronix.tm.resource.common.AbstractXAResourceHolder</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.common.RecoveryXAResourceHolder</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>RecoveryXAResourceHolder</B><DT>extends <A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A></DL>
+</PRE>
+
+<P>
+<A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> created by an <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> that is
+ used to perform recovery. Objects of this class cannot be used outside recovery scope.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_bitronix.tm.resource.common.XAStatefulHolder"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_ACCESSIBLE">STATE_ACCESSIBLE</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_CLOSED">STATE_CLOSED</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_IN_POOL">STATE_IN_POOL</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_NOT_ACCESSIBLE">STATE_NOT_ACCESSIBLE</A></CODE></TD>
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html#RecoveryXAResourceHolder(bitronix.tm.resource.common.XAResourceHolder)">RecoveryXAResourceHolder</A></B>(<A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> xaResourceHolder)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html#close()">close</A></B>()</CODE>
+
+<BR>
+ Close the physical connection that this <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> represents.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html#getConnectionHandle()">getConnectionHandle</A></B>()</CODE>
+
+<BR>
+ Create a disposable handler used to drive a pooled instance of
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html#getLastReleaseDate()">getLastReleaseDate</A></B>()</CODE>
+
+<BR>
+ Get the date at which this object was last released to the pool.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html#getResourceBean()">getResourceBean</A></B>()</CODE>
+
+<BR>
+ Get the ResourceBean which created this XAResourceHolder.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html#getXAResource()">getXAResource</A></B>()</CODE>
+
+<BR>
+ Get the vendor's <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> implementation of the wrapped resource.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html#getXAResourceHolders()">getXAResourceHolders</A></B>()</CODE>
+
+<BR>
+ Get the list of <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that are still open.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.common.AbstractXAResourceHolder"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html#getXAResourceHolderStateGtrids()">getXAResourceHolderStateGtrids</A>, <A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html#getXAResourceHolderStatesForGtrid(bitronix.tm.utils.Uid)">getXAResourceHolderStatesForGtrid</A>, <A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html#hasStateForXAResource(bitronix.tm.resource.common.XAResourceHolder)">hasStateF [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.common.AbstractXAStatefulHolder"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">AbstractXAStatefulHolder</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html#addStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">addStateChangeEventListener</A>, <A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html#getState()">getState</A>, <A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html#removeStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">removeStateChangeEventListe [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.common.XAStatefulHolder"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from interface bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#addStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">addStateChangeEventListener</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getState()">getState</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#removeStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">removeStateChangeEventListener</A>, <A HREF="../../ [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="RecoveryXAResourceHolder(bitronix.tm.resource.common.XAResourceHolder)"><!-- --></A><H3>
+RecoveryXAResourceHolder</H3>
+<PRE>
+public <B>RecoveryXAResourceHolder</B>(<A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> xaResourceHolder)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public void <B>close</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#close()">XAStatefulHolder</A></CODE></B></DD>
+<DD>Close the physical connection that this <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> represents.
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - a resource-specific exception thrown when there is an error closing the physical connection.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLastReleaseDate()"><!-- --></A><H3>
+getLastReleaseDate</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> <B>getLastReleaseDate</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getLastReleaseDate()">XAStatefulHolder</A></CODE></B></DD>
+<DD>Get the date at which this object was last released to the pool. This is required to check if it is eligible
+ for discard when the containing pool needs to shrink.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the date at which this object was last released to the pool or null if it never left the pool.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXAResource()"><!-- --></A><H3>
+getXAResource</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> <B>getXAResource</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html#getXAResource()">XAResourceHolder</A></CODE></B></DD>
+<DD>Get the vendor's <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> implementation of the wrapped resource.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the vendor's XAResource implementation.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getResourceBean()"><!-- --></A><H3>
+getResourceBean</H3>
+<PRE>
+public <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> <B>getResourceBean</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html#getResourceBean()">XAResourceHolder</A></CODE></B></DD>
+<DD>Get the ResourceBean which created this XAResourceHolder.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the ResourceBean which created this XAResourceHolder.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXAResourceHolders()"><!-- --></A><H3>
+getXAResourceHolders</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>getXAResourceHolders</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getXAResourceHolders()">XAStatefulHolder</A></CODE></B></DD>
+<DD>Get the list of <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that are still open.
+ <p>This method is thread-safe.</p>
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the list of <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that are still open.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getConnectionHandle()"><!-- --></A><H3>
+getConnectionHandle</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getConnectionHandle</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getConnectionHandle()">XAStatefulHolder</A></CODE></B></DD>
+<DD>Create a disposable handler used to drive a pooled instance of
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>.
+ <p>This method is thread-safe.</p>
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a resource-specific disaposable connection object.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - a resource-specific exception thrown when the disaposable connection cannot be created.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RecoveryXAResourceHolder.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/common/DeferredReleaseSynchronization.html" title="class in bitronix.tm.resource.common"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/common/RecoveryXAResourceHolder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="RecoveryXAResourceHolder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/common/ResourceBean.html b/doc/api/bitronix/tm/resource/common/ResourceBean.html
new file mode 100644
index 0000000..15da16c
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/common/ResourceBean.html
@@ -0,0 +1,1145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+ResourceBean (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="ResourceBean (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ResourceBean.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/common/ResourceBean.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ResourceBean.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.common</FONT>
+<BR>
+Class ResourceBean</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.common.ResourceBean</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html" title="class in bitronix.tm.resource.ehcache">EhCacheXAResourceProducer</A>, <A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A>, <A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public abstract class <B>ResourceBean</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DL>
+</PRE>
+
+<P>
+Abstract javabean container for all common properties of a <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> as configured in the
+ resources configuration file.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#bitronix.tm.resource.common.ResourceBean">Serialized Form</A></DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#ResourceBean()">ResourceBean</A></B>()</CODE>
+
+<BR>
+ Initialize all properties with their default values.</TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#getAcquireIncrement()">getAcquireIncrement</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#getAcquisitionInterval()">getAcquisitionInterval</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#getAcquisitionTimeout()">getAcquisitionTimeout</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#getAllowLocalTransactions()">getAllowLocalTransactions</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#getApplyTransactionTimeout()">getApplyTransactionTimeout</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#getAutomaticEnlistingEnabled()">getAutomaticEnlistingEnabled</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#getClassName()">getClassName</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#getDeferConnectionRelease()">getDeferConnectionRelease</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#getDriverProperties()">getDriverProperties</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#getIgnoreRecoveryFailures()">getIgnoreRecoveryFailures</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#getMaxIdleTime()">getMaxIdleTime</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#getMaxPoolSize()">getMaxPoolSize</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#getMinPoolSize()">getMinPoolSize</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#getShareTransactionConnections()">getShareTransactionConnections</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#getTwoPcOrderingPosition()">getTwoPcOrderingPosition</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#getUniqueName()">getUniqueName</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#getUseTmJoin()">getUseTmJoin</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#incCreatedResourcesCounter()">incCreatedResourcesCounter</A></B>()</CODE>
+
+<BR>
+ Increment a transient counter.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#isDisabled()">isDisabled</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#setAcquireIncrement(int)">setAcquireIncrement</A></B>(int acquireIncrement)</CODE>
+
+<BR>
+ Define the amount of connections to be created at once when the pool needs to grow.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#setAcquisitionInterval(int)">setAcquisitionInterval</A></B>(int acquisitionInterval)</CODE>
+
+<BR>
+ Set the amount of time in seconds the pool will wait before trying to acquire a connection again after an
+ invalid connection has been attempted to be acquired.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#setAcquisitionTimeout(int)">setAcquisitionTimeout</A></B>(int acquisitionTimeout)</CODE>
+
+<BR>
+ Define the amount of time in seconds a call to get a connection from the pool will wait when the pool is empty.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#setAllowLocalTransactions(boolean)">setAllowLocalTransactions</A></B>(boolean allowLocalTransactions)</CODE>
+
+<BR>
+ Set if the transaction manager should allow mixing XA and non-XA transactions.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#setApplyTransactionTimeout(boolean)">setApplyTransactionTimeout</A></B>(boolean applyTransactionTimeout)</CODE>
+
+<BR>
+ Set if the transaction-timeout should be set on the XAResource when the XAResource is
+ enlisted.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#setAutomaticEnlistingEnabled(boolean)">setAutomaticEnlistingEnabled</A></B>(boolean automaticEnlistingEnabled)</CODE>
+
+<BR>
+ Specify if the XA resource wrapper should enlist/delist this resource automatically in global transactions.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#setClassName(java.lang.String)">setClassName</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> className)</CODE>
+
+<BR>
+ Specify the underlying implementation class name of the XA resource described by this bean.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#setDeferConnectionRelease(boolean)">setDeferConnectionRelease</A></B>(boolean deferConnectionRelease)</CODE>
+
+<BR>
+ Define the transaction interleaving capability of the database.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#setDisabled(boolean)">setDisabled</A></B>(boolean disabled)</CODE>
+
+<BR>
+ Set whether this resource is disabled, meaning it's temporarily forbidden to acquire
+ a connection from its pool.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#setDriverProperties(java.util.Properties)">setDriverProperties</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A> driverProperties)</CODE>
+
+<BR>
+ Set the properties that should be set on the underlying implementation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#setIgnoreRecoveryFailures(boolean)">setIgnoreRecoveryFailures</A></B>(boolean ignoreRecoveryFailures)</CODE>
+
+<BR>
+ Set whether XA recovery errors should quarantine the resource or be ignored.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#setMaxIdleTime(int)">setMaxIdleTime</A></B>(int maxIdleTime)</CODE>
+
+<BR>
+ Define the amount of seconds and idle connection can stay in the pool before getting closed.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#setMaxPoolSize(int)">setMaxPoolSize</A></B>(int maxPoolSize)</CODE>
+
+<BR>
+ Define the maximum amount of connections that can be in the pool.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#setMinPoolSize(int)">setMinPoolSize</A></B>(int minPoolSize)</CODE>
+
+<BR>
+ Define the minimal amount of connections that can be in the pool.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#setShareTransactionConnections(boolean)">setShareTransactionConnections</A></B>(boolean shareAccessibleConnections)</CODE>
+
+<BR>
+ Set whether connections in the ACCESSIBLE state can be shared within the context
+ of a transaction.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#setTwoPcOrderingPosition(int)">setTwoPcOrderingPosition</A></B>(int twoPcOrderingPosition)</CODE>
+
+<BR>
+ Set the position at which this resource should stand during 2PC commit.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#setUniqueName(java.lang.String)">setUniqueName</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> uniqueName)</CODE>
+
+<BR>
+ Specify the resource unique name to be used to identify this resource during recovery.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#setUseTmJoin(boolean)">setUseTmJoin</A></B>(boolean useTmJoin)</CODE>
+
+<BR>
+ Specify if the transaction manager should try to join resources by calling
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#start(javax.transaction.xa.Xid, int)" title="class or interface in javax.transaction.xa"><CODE>XAResource.start(javax.transaction.xa.Xid, int)</CODE></A> with
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#TMJOIN" title="class or interface in javax.transaction.xa"><CODE>XAResource.TMJOIN</CODE></A>.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="ResourceBean()"><!-- --></A><H3>
+ResourceBean</H3>
+<PRE>
+protected <B>ResourceBean</B>()</PRE>
+<DL>
+<DD>Initialize all properties with their default values.
+<P>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getClassName()"><!-- --></A><H3>
+getClassName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getClassName</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the underlying implementation class name.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setClassName(java.lang.String)"><!-- --></A><H3>
+setClassName</H3>
+<PRE>
+public void <B>setClassName</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> className)</PRE>
+<DL>
+<DD>Specify the underlying implementation class name of the XA resource described by this bean.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>className</CODE> - the underlying implementation class name.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUniqueName()"><!-- --></A><H3>
+getUniqueName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getUniqueName</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the resource's unique name.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setUniqueName(java.lang.String)"><!-- --></A><H3>
+setUniqueName</H3>
+<PRE>
+public void <B>setUniqueName</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> uniqueName)</PRE>
+<DL>
+<DD>Specify the resource unique name to be used to identify this resource during recovery. This name will be
+ registered in the transactions journal so once assigned it must never be changed.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>uniqueName</CODE> - the resource's unique name.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAutomaticEnlistingEnabled()"><!-- --></A><H3>
+getAutomaticEnlistingEnabled</H3>
+<PRE>
+public boolean <B>getAutomaticEnlistingEnabled</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if the the XA resource wrapper should enlist/delist this resource automatically in global
+ transactions.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAutomaticEnlistingEnabled(boolean)"><!-- --></A><H3>
+setAutomaticEnlistingEnabled</H3>
+<PRE>
+public void <B>setAutomaticEnlistingEnabled</B>(boolean automaticEnlistingEnabled)</PRE>
+<DL>
+<DD>Specify if the XA resource wrapper should enlist/delist this resource automatically in global transactions.
+ When set to false, you have to enlist resources yourself with <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true#enlistResource(javax.transaction.xa.XAResource)" title="class or interface in javax.transaction"><CODE>Transaction.enlistResource(javax.transaction.xa.XAResource)</CODE></A> and delist them
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true#delistResource(javax.transaction.xa.XAResource, int)" title="class or interface in javax.transaction"><CODE>Transaction.delistResource(javax.transaction.xa.XAResource, int)</CODE></A>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>automaticEnlistingEnabled</CODE> - true if the the XA resource wrapper should enlist/delist this resource automatically in global
+ transactions.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUseTmJoin()"><!-- --></A><H3>
+getUseTmJoin</H3>
+<PRE>
+public boolean <B>getUseTmJoin</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if transaction branches joining should be used.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setUseTmJoin(boolean)"><!-- --></A><H3>
+setUseTmJoin</H3>
+<PRE>
+public void <B>setUseTmJoin</B>(boolean useTmJoin)</PRE>
+<DL>
+<DD>Specify if the transaction manager should try to join resources by calling
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#start(javax.transaction.xa.Xid, int)" title="class or interface in javax.transaction.xa"><CODE>XAResource.start(javax.transaction.xa.Xid, int)</CODE></A> with
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#TMJOIN" title="class or interface in javax.transaction.xa"><CODE>XAResource.TMJOIN</CODE></A>. The transaction manager checks if two branches can be joined by
+ calling <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#isSameRM(javax.transaction.xa.XAResource)" title="class or interface in javax.transaction.xa"><CODE>XAResource.isSameRM(javax.transaction.xa.XAResource)</CODE></A>.
+ It should only be set to true if the underlying implementation supports resource joining.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>useTmJoin</CODE> - true if transaction branches joining should be used.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDriverProperties()"><!-- --></A><H3>
+getDriverProperties</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A> <B>getDriverProperties</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the properties that should be set on the underlying implementation.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDriverProperties(java.util.Properties)"><!-- --></A><H3>
+setDriverProperties</H3>
+<PRE>
+public void <B>setDriverProperties</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A> driverProperties)</PRE>
+<DL>
+<DD>Set the properties that should be set on the underlying implementation.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>driverProperties</CODE> - the properties that should be set on the underlying implementation.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMaxPoolSize()"><!-- --></A><H3>
+getMaxPoolSize</H3>
+<PRE>
+public int <B>getMaxPoolSize</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the maximum amount of connections that can be in the pool.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setMaxPoolSize(int)"><!-- --></A><H3>
+setMaxPoolSize</H3>
+<PRE>
+public void <B>setMaxPoolSize</B>(int maxPoolSize)</PRE>
+<DL>
+<DD>Define the maximum amount of connections that can be in the pool.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>maxPoolSize</CODE> - the maximum amount of connections that can be in the pool.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMinPoolSize()"><!-- --></A><H3>
+getMinPoolSize</H3>
+<PRE>
+public int <B>getMinPoolSize</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the minimal amount of connections that can be in the pool.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setMinPoolSize(int)"><!-- --></A><H3>
+setMinPoolSize</H3>
+<PRE>
+public void <B>setMinPoolSize</B>(int minPoolSize)</PRE>
+<DL>
+<DD>Define the minimal amount of connections that can be in the pool.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>minPoolSize</CODE> - the maximum amount of connections that can be in the pool.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMaxIdleTime()"><!-- --></A><H3>
+getMaxIdleTime</H3>
+<PRE>
+public int <B>getMaxIdleTime</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the amount of seconds and idle connection can stay in the pool before getting closed.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setMaxIdleTime(int)"><!-- --></A><H3>
+setMaxIdleTime</H3>
+<PRE>
+public void <B>setMaxIdleTime</B>(int maxIdleTime)</PRE>
+<DL>
+<DD>Define the amount of seconds and idle connection can stay in the pool before getting closed.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>maxIdleTime</CODE> - the amount of seconds and idle connection can stay in the pool before getting closed.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAcquireIncrement()"><!-- --></A><H3>
+getAcquireIncrement</H3>
+<PRE>
+public int <B>getAcquireIncrement</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the amount of connections to be created at once when the pool needs to grow.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAcquireIncrement(int)"><!-- --></A><H3>
+setAcquireIncrement</H3>
+<PRE>
+public void <B>setAcquireIncrement</B>(int acquireIncrement)</PRE>
+<DL>
+<DD>Define the amount of connections to be created at once when the pool needs to grow.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>acquireIncrement</CODE> - the amount of connections to be created at once when the pool needs to grow.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAcquisitionTimeout()"><!-- --></A><H3>
+getAcquisitionTimeout</H3>
+<PRE>
+public int <B>getAcquisitionTimeout</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the amount of time in seconds a call to get a connection from the pool will wait when the pool is empty.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAcquisitionTimeout(int)"><!-- --></A><H3>
+setAcquisitionTimeout</H3>
+<PRE>
+public void <B>setAcquisitionTimeout</B>(int acquisitionTimeout)</PRE>
+<DL>
+<DD>Define the amount of time in seconds a call to get a connection from the pool will wait when the pool is empty.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>acquisitionTimeout</CODE> - the amount of time in seconds.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDeferConnectionRelease()"><!-- --></A><H3>
+getDeferConnectionRelease</H3>
+<PRE>
+public boolean <B>getDeferConnectionRelease</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>false only if the database can run many transactions on the same connection.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDeferConnectionRelease(boolean)"><!-- --></A><H3>
+setDeferConnectionRelease</H3>
+<PRE>
+public void <B>setDeferConnectionRelease</B>(boolean deferConnectionRelease)</PRE>
+<DL>
+<DD>Define the transaction interleaving capability of the database.
+ Should be true only if the database can run many transactions on the same connection.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>deferConnectionRelease</CODE> - false only if the database can run many transactions on the same connection.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAcquisitionInterval()"><!-- --></A><H3>
+getAcquisitionInterval</H3>
+<PRE>
+public int <B>getAcquisitionInterval</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the amount of time between failed connection acquirements.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAcquisitionInterval(int)"><!-- --></A><H3>
+setAcquisitionInterval</H3>
+<PRE>
+public void <B>setAcquisitionInterval</B>(int acquisitionInterval)</PRE>
+<DL>
+<DD>Set the amount of time in seconds the pool will wait before trying to acquire a connection again after an
+ invalid connection has been attempted to be acquired.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>acquisitionInterval</CODE> - amount of time in seconds.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAllowLocalTransactions()"><!-- --></A><H3>
+getAllowLocalTransactions</H3>
+<PRE>
+public boolean <B>getAllowLocalTransactions</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if the transaction manager should allow mixing XA and non-XA transactions.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAllowLocalTransactions(boolean)"><!-- --></A><H3>
+setAllowLocalTransactions</H3>
+<PRE>
+public void <B>setAllowLocalTransactions</B>(boolean allowLocalTransactions)</PRE>
+<DL>
+<DD>Set if the transaction manager should allow mixing XA and non-XA transactions. If you know all your transactions
+ should be executed within global (ie: XA) scope it is a good idea to set this property to false.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>allowLocalTransactions</CODE> - if the transaction manager should allow mixing XA and non-XA transactions.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTwoPcOrderingPosition()"><!-- --></A><H3>
+getTwoPcOrderingPosition</H3>
+<PRE>
+public int <B>getTwoPcOrderingPosition</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the position at which this resource should stand during 2PC commit.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setTwoPcOrderingPosition(int)"><!-- --></A><H3>
+setTwoPcOrderingPosition</H3>
+<PRE>
+public void <B>setTwoPcOrderingPosition</B>(int twoPcOrderingPosition)</PRE>
+<DL>
+<DD>Set the position at which this resource should stand during 2PC commit.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>twoPcOrderingPosition</CODE> - the position at which this resource should stand during 2PC commit.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getApplyTransactionTimeout()"><!-- --></A><H3>
+getApplyTransactionTimeout</H3>
+<PRE>
+public boolean <B>getApplyTransactionTimeout</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if the transaction-timeout should be set on the XAResource.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setApplyTransactionTimeout(boolean)"><!-- --></A><H3>
+setApplyTransactionTimeout</H3>
+<PRE>
+public void <B>setApplyTransactionTimeout</B>(boolean applyTransactionTimeout)</PRE>
+<DL>
+<DD>Set if the transaction-timeout should be set on the XAResource when the XAResource is
+ enlisted.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>applyTransactionTimeout</CODE> - true if the transaction-timeout should be set.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setShareTransactionConnections(boolean)"><!-- --></A><H3>
+setShareTransactionConnections</H3>
+<PRE>
+public void <B>setShareTransactionConnections</B>(boolean shareAccessibleConnections)</PRE>
+<DL>
+<DD>Set whether connections in the ACCESSIBLE state can be shared within the context
+ of a transaction.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>shareAccessibleConnections</CODE> - the shareAccessibleConnections to set.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getShareTransactionConnections()"><!-- --></A><H3>
+getShareTransactionConnections</H3>
+<PRE>
+public boolean <B>getShareTransactionConnections</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if accessible connections can be shared.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setIgnoreRecoveryFailures(boolean)"><!-- --></A><H3>
+setIgnoreRecoveryFailures</H3>
+<PRE>
+public void <B>setIgnoreRecoveryFailures</B>(boolean ignoreRecoveryFailures)</PRE>
+<DL>
+<DD>Set whether XA recovery errors should quarantine the resource or be ignored.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>ignoreRecoveryFailures</CODE> - true if recovery errors should be ignored, false otherwise.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getIgnoreRecoveryFailures()"><!-- --></A><H3>
+getIgnoreRecoveryFailures</H3>
+<PRE>
+public boolean <B>getIgnoreRecoveryFailures</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if recovery errors should be ignored, false otherwise.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDisabled(boolean)"><!-- --></A><H3>
+setDisabled</H3>
+<PRE>
+public void <B>setDisabled</B>(boolean disabled)</PRE>
+<DL>
+<DD>Set whether this resource is disabled, meaning it's temporarily forbidden to acquire
+ a connection from its pool.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>disabled</CODE> - true to disable the resource, false to enable it.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isDisabled()"><!-- --></A><H3>
+isDisabled</H3>
+<PRE>
+public boolean <B>isDisabled</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if the resource is disabled, false if it is enabled.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="incCreatedResourcesCounter()"><!-- --></A><H3>
+incCreatedResourcesCounter</H3>
+<PRE>
+public int <B>incCreatedResourcesCounter</B>()</PRE>
+<DL>
+<DD>Increment a transient counter. This is used for assigning per-resource numbers to connections.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the current value of the counter.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ResourceBean.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/common/ResourceBean.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ResourceBean.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/common/StateChangeListener.html b/doc/api/bitronix/tm/resource/common/StateChangeListener.html
new file mode 100644
index 0000000..a5c8fae
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/common/StateChangeListener.html
@@ -0,0 +1,249 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+StateChangeListener (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="StateChangeListener (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/StateChangeListener.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/common/TransactionContextHelper.html" title="class in bitronix.tm.resource.common"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/common/StateChangeListener.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="StateChangeListener.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.common</FONT>
+<BR>
+Interface StateChangeListener</H2>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>, <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A>, <A HREF="../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public interface <B>StateChangeListener</B></DL>
+</PRE>
+
+<P>
+<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> state change listener interface.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html#stateChanged(bitronix.tm.resource.common.XAStatefulHolder, int, int)">stateChanged</A></B>(<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> source,
+ int oldState,
+ int newState)</CODE>
+
+<BR>
+ Fired when the internal state of a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> has changed.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html#stateChanging(bitronix.tm.resource.common.XAStatefulHolder, int, int)">stateChanging</A></B>(<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> source,
+ int currentState,
+ int futureState)</CODE>
+
+<BR>
+ Fired before the internal state of a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> has changed.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="stateChanged(bitronix.tm.resource.common.XAStatefulHolder, int, int)"><!-- --></A><H3>
+stateChanged</H3>
+<PRE>
+void <B>stateChanged</B>(<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> source,
+ int oldState,
+ int newState)</PRE>
+<DL>
+<DD>Fired when the internal state of a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> has changed.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> changing state.<DD><CODE>oldState</CODE> - the old state of the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>.<DD><CODE>newState</CODE> - the new state of the <A HREF="../../.. [...]
+</DD>
+</DL>
+<HR>
+
+<A NAME="stateChanging(bitronix.tm.resource.common.XAStatefulHolder, int, int)"><!-- --></A><H3>
+stateChanging</H3>
+<PRE>
+void <B>stateChanging</B>(<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> source,
+ int currentState,
+ int futureState)</PRE>
+<DL>
+<DD>Fired before the internal state of a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> has changed.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> changing state.<DD><CODE>currentState</CODE> - the current state of the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>.<DD><CODE>futureState</CODE> - the future state of the <A [...]
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/StateChangeListener.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/common/TransactionContextHelper.html" title="class in bitronix.tm.resource.common"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/common/StateChangeListener.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="StateChangeListener.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/common/TransactionContextHelper.html b/doc/api/bitronix/tm/resource/common/TransactionContextHelper.html
new file mode 100644
index 0000000..6381fee
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/common/TransactionContextHelper.html
@@ -0,0 +1,367 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+TransactionContextHelper (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="TransactionContextHelper (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TransactionContextHelper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/common/TransactionContextHelper.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionContextHelper.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.common</FONT>
+<BR>
+Class TransactionContextHelper</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.common.TransactionContextHelper</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>TransactionContextHelper</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+Helper class that contains static logic common accross all resource types.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/TransactionContextHelper.html#TransactionContextHelper()">TransactionContextHelper</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/TransactionContextHelper.html#currentTransaction()">currentTransaction</A></B>()</CODE>
+
+<BR>
+ Get the transaction running on the current thead context.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/TransactionContextHelper.html#delistFromCurrentTransaction(bitronix.tm.resource.common.XAResourceHolder)">delistFromCurrentTransaction</A></B>(<A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> xaResourceHolder)</CODE>
+
+<BR>
+ Delist the <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> from the current transaction or do nothing if there is no global transaction
+ context for this thread.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/TransactionContextHelper.html#enlistInCurrentTransaction(bitronix.tm.resource.common.XAResourceHolder)">enlistInCurrentTransaction</A></B>(<A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> xaResourceHolder)</CODE>
+
+<BR>
+ Enlist the <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> in the current transaction or do nothing if there is no global transaction
+ context for this thread.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/TransactionContextHelper.html#recycle(bitronix.tm.resource.common.XAStatefulHolder)">recycle</A></B>(<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> xaStatefulHolder)</CODE>
+
+<BR>
+ Ensure the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>'s release won't be deferred anymore (when appropriate) as it has been recycled.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/TransactionContextHelper.html#requeue(bitronix.tm.resource.common.XAStatefulHolder, bitronix.tm.resource.common.ResourceBean)">requeue</A></B>(<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> xaStatefulHolder,
+ <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)</CODE>
+
+<BR>
+ Switch the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>'s state appropriately after the acquired resource handle has been closed.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="TransactionContextHelper()"><!-- --></A><H3>
+TransactionContextHelper</H3>
+<PRE>
+public <B>TransactionContextHelper</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="enlistInCurrentTransaction(bitronix.tm.resource.common.XAResourceHolder)"><!-- --></A><H3>
+enlistInCurrentTransaction</H3>
+<PRE>
+public static void <B>enlistInCurrentTransaction</B>(<A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> xaResourceHolder)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/RollbackException.html?is-external=true" title="class or interface in javax.transaction">RollbackException</A></PRE>
+<DL>
+<DD>Enlist the <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> in the current transaction or do nothing if there is no global transaction
+ context for this thread.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xaResourceHolder</CODE> - the <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> to enlist.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></CODE> - if an internal error happens.
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/RollbackException.html?is-external=true" title="class or interface in javax.transaction">RollbackException</A></CODE> - if the current transaction has been marked as rollback only.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="delistFromCurrentTransaction(bitronix.tm.resource.common.XAResourceHolder)"><!-- --></A><H3>
+delistFromCurrentTransaction</H3>
+<PRE>
+public static void <B>delistFromCurrentTransaction</B>(<A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> xaResourceHolder)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></PRE>
+<DL>
+<DD>Delist the <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> from the current transaction or do nothing if there is no global transaction
+ context for this thread.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xaResourceHolder</CODE> - the <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> to delist.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A></CODE> - if an internal error happens.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="currentTransaction()"><!-- --></A><H3>
+currentTransaction</H3>
+<PRE>
+public static <A HREF="../../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> <B>currentTransaction</B>()</PRE>
+<DL>
+<DD>Get the transaction running on the current thead context.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>null if there is no transaction on the current context or if the transaction manager is not running.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="requeue(bitronix.tm.resource.common.XAStatefulHolder, bitronix.tm.resource.common.ResourceBean)"><!-- --></A><H3>
+requeue</H3>
+<PRE>
+public static void <B>requeue</B>(<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> xaStatefulHolder,
+ <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)
+ throws <A HREF="../../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A></PRE>
+<DL>
+<DD>Switch the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>'s state appropriately after the acquired resource handle has been closed.
+ The pooled resource will either be marked as closed or not accessible, depending on the value of the bean's
+ <code>deferConnectionRelease</code> property and will be marked for release after 2PC execution in the latter case.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xaStatefulHolder</CODE> - the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> to requeue.<DD><CODE>bean</CODE> - the <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common"><CODE>ResourceBean</CODE></A> of the <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interfa [...]
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A></CODE> - if an internal error happens.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="recycle(bitronix.tm.resource.common.XAStatefulHolder)"><!-- --></A><H3>
+recycle</H3>
+<PRE>
+public static void <B>recycle</B>(<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> xaStatefulHolder)</PRE>
+<DL>
+<DD>Ensure the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>'s release won't be deferred anymore (when appropriate) as it has been recycled.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xaStatefulHolder</CODE> - the recycled <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TransactionContextHelper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/common/TransactionContextHelper.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionContextHelper.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/common/XAPool.html b/doc/api/bitronix/tm/resource/common/XAPool.html
new file mode 100644
index 0000000..f69c4e3
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/common/XAPool.html
@@ -0,0 +1,632 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+XAPool (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="XAPool (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/XAPool.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/common/TransactionContextHelper.html" title="class in bitronix.tm.resource.common"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/common/XAPool.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="XAPool.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.common</FONT>
+<BR>
+Class XAPool</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.common.XAPool</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>XAPool</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A></DL>
+</PRE>
+
+<P>
+Generic XA pool. <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> instances are created by the <A HREF="../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common"><CODE>XAPool</CODE></A> out of a
+ <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>. Those objects are then pooled and can be retrieved and/or recycled by the pool
+ depending on the running XA transaction's and the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>'s states.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAPool.html#XAPool(bitronix.tm.resource.common.XAResourceProducer, bitronix.tm.resource.common.ResourceBean)">XAPool</A></B>(<A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A> xaResourceProducer,
+ <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAPool.html#close()">close</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAPool.html#findXAResourceHolder(javax.transaction.xa.XAResource)">findXAResourceHolder</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAPool.html#getConnectionHandle()">getConnectionHandle</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAPool.html#getConnectionHandle(boolean)">getConnectionHandle</A></B>(boolean recycle)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAPool.html#getNextShrinkDate()">getNextShrinkDate</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAPool.html#getXAFactory()">getXAFactory</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAPool.html#getXAResourceHolders()">getXAResourceHolders</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAPool.html#inPoolSize()">inPoolSize</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAPool.html#isFailed()">isFailed</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAPool.html#reset()">reset</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAPool.html#setFailed(boolean)">setFailed</A></B>(boolean failed)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAPool.html#shrink()">shrink</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAPool.html#stateChanged(bitronix.tm.resource.common.XAStatefulHolder, int, int)">stateChanged</A></B>(<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> source,
+ int oldState,
+ int newState)</CODE>
+
+<BR>
+ Fired when the internal state of a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> has changed.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAPool.html#stateChanging(bitronix.tm.resource.common.XAStatefulHolder, int, int)">stateChanging</A></B>(<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> source,
+ int currentState,
+ int futureState)</CODE>
+
+<BR>
+ Fired before the internal state of a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> has changed.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAPool.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAPool.html#totalPoolSize()">totalPoolSize</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="XAPool(bitronix.tm.resource.common.XAResourceProducer, bitronix.tm.resource.common.ResourceBean)"><!-- --></A><H3>
+XAPool</H3>
+<PRE>
+public <B>XAPool</B>(<A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A> xaResourceProducer,
+ <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE></DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getXAFactory()"><!-- --></A><H3>
+getXAFactory</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getXAFactory</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setFailed(boolean)"><!-- --></A><H3>
+setFailed</H3>
+<PRE>
+public void <B>setFailed</B>(boolean failed)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isFailed()"><!-- --></A><H3>
+isFailed</H3>
+<PRE>
+public boolean <B>isFailed</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getConnectionHandle()"><!-- --></A><H3>
+getConnectionHandle</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getConnectionHandle</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getConnectionHandle(boolean)"><!-- --></A><H3>
+getConnectionHandle</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getConnectionHandle</B>(boolean recycle)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public void <B>close</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="totalPoolSize()"><!-- --></A><H3>
+totalPoolSize</H3>
+<PRE>
+public long <B>totalPoolSize</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="inPoolSize()"><!-- --></A><H3>
+inPoolSize</H3>
+<PRE>
+public long <B>inPoolSize</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="stateChanged(bitronix.tm.resource.common.XAStatefulHolder, int, int)"><!-- --></A><H3>
+stateChanged</H3>
+<PRE>
+public void <B>stateChanged</B>(<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> source,
+ int oldState,
+ int newState)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html#stateChanged(bitronix.tm.resource.common.XAStatefulHolder, int, int)">StateChangeListener</A></CODE></B></DD>
+<DD>Fired when the internal state of a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> has changed.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html#stateChanged(bitronix.tm.resource.common.XAStatefulHolder, int, int)">stateChanged</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> changing state.<DD><CODE>oldState</CODE> - the old state of the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>.<DD><CODE>newState</CODE> - the new state of the <A HREF="../../.. [...]
+</DD>
+</DL>
+<HR>
+
+<A NAME="stateChanging(bitronix.tm.resource.common.XAStatefulHolder, int, int)"><!-- --></A><H3>
+stateChanging</H3>
+<PRE>
+public void <B>stateChanging</B>(<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> source,
+ int currentState,
+ int futureState)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html#stateChanging(bitronix.tm.resource.common.XAStatefulHolder, int, int)">StateChangeListener</A></CODE></B></DD>
+<DD>Fired before the internal state of a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> has changed.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html#stateChanging(bitronix.tm.resource.common.XAStatefulHolder, int, int)">stateChanging</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> changing state.<DD><CODE>currentState</CODE> - the current state of the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>.<DD><CODE>futureState</CODE> - the future state of the <A [...]
+</DD>
+</DL>
+<HR>
+
+<A NAME="findXAResourceHolder(javax.transaction.xa.XAResource)"><!-- --></A><H3>
+findXAResourceHolder</H3>
+<PRE>
+public <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> <B>findXAResourceHolder</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXAResourceHolders()"><!-- --></A><H3>
+getXAResourceHolders</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>getXAResourceHolders</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNextShrinkDate()"><!-- --></A><H3>
+getNextShrinkDate</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> <B>getNextShrinkDate</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="shrink()"><!-- --></A><H3>
+shrink</H3>
+<PRE>
+public void <B>shrink</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="reset()"><!-- --></A><H3>
+reset</H3>
+<PRE>
+public void <B>reset</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/XAPool.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/common/TransactionContextHelper.html" title="class in bitronix.tm.resource.common"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/common/XAPool.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="XAPool.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/common/XAResourceHolder.html b/doc/api/bitronix/tm/resource/common/XAResourceHolder.html
new file mode 100644
index 0000000..f06c32a
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/common/XAResourceHolder.html
@@ -0,0 +1,382 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+XAResourceHolder (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="XAResourceHolder (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/XAResourceHolder.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/common/XAResourceHolder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="XAResourceHolder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.common</FONT>
+<BR>
+Interface XAResourceHolder</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A>, <A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>, <A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html" title="class in bitronix.tm.resource.ehcache">EhCacheXAResourceHolder</A> [...]
+</DL>
+<HR>
+<DL>
+<DT><PRE>public interface <B>XAResourceHolder</B><DT>extends <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></DL>
+</PRE>
+
+<P>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> wrappers must implement this interface. It defines a way to get access to the transactional
+ state of this <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A></DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_bitronix.tm.resource.common.XAStatefulHolder"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_ACCESSIBLE">STATE_ACCESSIBLE</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_CLOSED">STATE_CLOSED</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_IN_POOL">STATE_IN_POOL</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_NOT_ACCESSIBLE">STATE_NOT_ACCESSIBLE</A></CODE></TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html#getResourceBean()">getResourceBean</A></B>()</CODE>
+
+<BR>
+ Get the ResourceBean which created this XAResourceHolder.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html#getXAResource()">getXAResource</A></B>()</CODE>
+
+<BR>
+ Get the vendor's <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> implementation of the wrapped resource.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html#getXAResourceHolderStatesForGtrid(bitronix.tm.utils.Uid)">getXAResourceHolderStatesForGtrid</A></B>(<A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> gtrid)</CODE>
+
+<BR>
+ Get all the <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A>s of this wrapped resource for a specific GTRID.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html#hasStateForXAResource(bitronix.tm.resource.common.XAResourceHolder)">hasStateForXAResource</A></B>(<A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> xaResourceHolder)</CODE>
+
+<BR>
+ Check if this <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> contains a state for a specific <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html#putXAResourceHolderState(bitronix.tm.BitronixXid, bitronix.tm.internal.XAResourceHolderState)">putXAResourceHolderState</A></B>(<A HREF="../../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A> xid,
+ <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</CODE>
+
+<BR>
+ Add a <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A> of this wrapped resource.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html#removeXAResourceHolderState(bitronix.tm.BitronixXid)">removeXAResourceHolderState</A></B>(<A HREF="../../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A> xid)</CODE>
+
+<BR>
+ Remove all states related to a specific Xid from this wrapped resource.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.common.XAStatefulHolder"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from interface bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#addStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">addStateChangeEventListener</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#close()">close</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getConnectionHandle()">getConnectionHandle</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getLastReleaseDate( [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getXAResource()"><!-- --></A><H3>
+getXAResource</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> <B>getXAResource</B>()</PRE>
+<DL>
+<DD>Get the vendor's <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> implementation of the wrapped resource.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the vendor's XAResource implementation.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXAResourceHolderStatesForGtrid(bitronix.tm.utils.Uid)"><!-- --></A><H3>
+getXAResourceHolderStatesForGtrid</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A> <B>getXAResourceHolderStatesForGtrid</B>(<A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> gtrid)</PRE>
+<DL>
+<DD>Get all the <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A>s of this wrapped resource for a specific GTRID.
+ <p>The returned Map is guaranteed to return states in order they were added when its values are iterated.</p>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>gtrid</CODE> - the GTRID of the transaction state to add.
+<DT><B>Returns:</B><DD>the <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A>.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="putXAResourceHolderState(bitronix.tm.BitronixXid, bitronix.tm.internal.XAResourceHolderState)"><!-- --></A><H3>
+putXAResourceHolderState</H3>
+<PRE>
+void <B>putXAResourceHolderState</B>(<A HREF="../../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A> xid,
+ <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</PRE>
+<DL>
+<DD>Add a <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A> of this wrapped resource.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xid</CODE> - the Xid of the transaction state to add.<DD><CODE>xaResourceHolderState</CODE> - the <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A> to set.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeXAResourceHolderState(bitronix.tm.BitronixXid)"><!-- --></A><H3>
+removeXAResourceHolderState</H3>
+<PRE>
+void <B>removeXAResourceHolderState</B>(<A HREF="../../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A> xid)</PRE>
+<DL>
+<DD>Remove all states related to a specific Xid from this wrapped resource.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xid</CODE> - the Xid of the transaction state to remove.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hasStateForXAResource(bitronix.tm.resource.common.XAResourceHolder)"><!-- --></A><H3>
+hasStateForXAResource</H3>
+<PRE>
+boolean <B>hasStateForXAResource</B>(<A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> xaResourceHolder)</PRE>
+<DL>
+<DD>Check if this <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> contains a state for a specific <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>.
+ In other words: has the <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>'s <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> been enlisted in some transaction ?
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xaResourceHolder</CODE> - the <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> to look for.
+<DT><B>Returns:</B><DD>true if the <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> is enlisted in some transaction, false otherwise.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getResourceBean()"><!-- --></A><H3>
+getResourceBean</H3>
+<PRE>
+<A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> <B>getResourceBean</B>()</PRE>
+<DL>
+<DD>Get the ResourceBean which created this XAResourceHolder.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the ResourceBean which created this XAResourceHolder.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/XAResourceHolder.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/common/XAResourceHolder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="XAResourceHolder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/common/XAResourceProducer.html b/doc/api/bitronix/tm/resource/common/XAResourceProducer.html
new file mode 100644
index 0000000..96e4776
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/common/XAResourceProducer.html
@@ -0,0 +1,422 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+XAResourceProducer (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="XAResourceProducer (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/XAResourceProducer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/common/XAResourceProducer.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="XAResourceProducer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.common</FONT>
+<BR>
+Interface XAResourceProducer</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Referenceable.html?is-external=true" title="class or interface in javax.naming">Referenceable</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html" title="class in bitronix.tm.resource.ehcache">EhCacheXAResourceProducer</A>, <A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A>, <A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public interface <B>XAResourceProducer</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Referenceable.html?is-external=true" title="class or interface in javax.naming">Referenceable</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DL>
+</PRE>
+
+<P>
+A <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> is a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> factory. It must be implemented by any class that is
+ able to produce pooled XA connections.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#close()">close</A></B>()</CODE>
+
+<BR>
+ Release this <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>'s internal resources.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#createPooledConnection(java.lang.Object, bitronix.tm.resource.common.ResourceBean)">createPooledConnection</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> xaFactory,
+ <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)</CODE>
+
+<BR>
+ Create a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that will be placed in an <A HREF="../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common"><CODE>XAPool</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#endRecovery()">endRecovery</A></B>()</CODE>
+
+<BR>
+ Release internal resources held after call to <code>startRecovery()</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#findXAResourceHolder(javax.transaction.xa.XAResource)">findXAResourceHolder</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)</CODE>
+
+<BR>
+ Find in the <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> the one which this
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> belongs to.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#getUniqueName()">getUniqueName</A></B>()</CODE>
+
+<BR>
+ Get the resource name as registered in the transactions journal.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#init()">init</A></B>()</CODE>
+
+<BR>
+ Initialize this <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>'s internal resources.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#setFailed(boolean)">setFailed</A></B>(boolean failed)</CODE>
+
+<BR>
+ Mark this resource producer as failed or not.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#startRecovery()">startRecovery</A></B>()</CODE>
+
+<BR>
+ Prepare the recoverable <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> producer for recovery.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_javax.naming.Referenceable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from interface javax.naming.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Referenceable.html?is-external=true" title="class or interface in javax.naming">Referenceable</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Referenceable.html?is-external=true#getReference()" title="class or interface in javax.naming">getReference</A></CODE></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getUniqueName()"><!-- --></A><H3>
+getUniqueName</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getUniqueName</B>()</PRE>
+<DL>
+<DD>Get the resource name as registered in the transactions journal.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the unique name of the resource.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="startRecovery()"><!-- --></A><H3>
+startRecovery</H3>
+<PRE>
+<A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> <B>startRecovery</B>()
+ throws <A HREF="../../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A></PRE>
+<DL>
+<DD>Prepare the recoverable <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> producer for recovery.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A> object that can be used to call <code>recover()</code>.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A></CODE> - thrown when a <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A> cannot be acquired.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="endRecovery()"><!-- --></A><H3>
+endRecovery</H3>
+<PRE>
+void <B>endRecovery</B>()
+ throws <A HREF="../../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A></PRE>
+<DL>
+<DD>Release internal resources held after call to <code>startRecovery()</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A></CODE> - thrown when an error occured while releasing reserved resources.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setFailed(boolean)"><!-- --></A><H3>
+setFailed</H3>
+<PRE>
+void <B>setFailed</B>(boolean failed)</PRE>
+<DL>
+<DD>Mark this resource producer as failed or not. A resource is considered failed if recovery fails to run on it.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>failed</CODE> - true is the resource must be considered failed, false it it must be considered sane.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="findXAResourceHolder(javax.transaction.xa.XAResource)"><!-- --></A><H3>
+findXAResourceHolder</H3>
+<PRE>
+<A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> <B>findXAResourceHolder</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)</PRE>
+<DL>
+<DD>Find in the <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> the one which this
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> belongs to.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xaResource</CODE> - the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> to look for.
+<DT><B>Returns:</B><DD>the associated <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> or null if the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> does not belong to this
+ <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="init()"><!-- --></A><H3>
+init</H3>
+<PRE>
+void <B>init</B>()</PRE>
+<DL>
+<DD>Initialize this <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>'s internal resources.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+void <B>close</B>()</PRE>
+<DL>
+<DD>Release this <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>'s internal resources.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createPooledConnection(java.lang.Object, bitronix.tm.resource.common.ResourceBean)"><!-- --></A><H3>
+createPooledConnection</H3>
+<PRE>
+<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> <B>createPooledConnection</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> xaFactory,
+ <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD>Create a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that will be placed in an <A HREF="../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common"><CODE>XAPool</CODE></A>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xaFactory</CODE> - the vendor's resource-specific XA factory.<DD><CODE>bean</CODE> - the resource-specific bean describing the resource parameters.
+<DT><B>Returns:</B><DD>a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that will be placed in an <A HREF="../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common"><CODE>XAPool</CODE></A>.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - thrown when the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> cannot be created.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/XAResourceProducer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/common/XAResourceProducer.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="XAResourceProducer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/common/XAStatefulHolder.html b/doc/api/bitronix/tm/resource/common/XAStatefulHolder.html
new file mode 100644
index 0000000..999559d
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/common/XAStatefulHolder.html
@@ -0,0 +1,490 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+XAStatefulHolder (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="XAStatefulHolder (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/XAStatefulHolder.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/common/XAStatefulHolder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="XAStatefulHolder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.common</FONT>
+<BR>
+Interface XAStatefulHolder</H2>
+<DL>
+<DT><B>All Known Subinterfaces:</B> <DD><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A>, <A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">AbstractXAStatefulHolder</A>, <A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A> [...]
+</DL>
+<HR>
+<DL>
+<DT><PRE>public interface <B>XAStatefulHolder</B></DL>
+</PRE>
+
+<P>
+Any pooled connection class must implement the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> interface. It defines all the services
+ that must be implemented by the connection as well as the pooling lifecycle states.
+ Instances of this interface have to create and manage <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_ACCESSIBLE">STATE_ACCESSIBLE</A></B></CODE>
+
+<BR>
+ The state in which the resource is when it out of the pool but accessible by the application.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_CLOSED">STATE_CLOSED</A></B></CODE>
+
+<BR>
+ The state in which the resource is when it is closed and unusable.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_IN_POOL">STATE_IN_POOL</A></B></CODE>
+
+<BR>
+ The state in which the resource is when it is available in the pool.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_NOT_ACCESSIBLE">STATE_NOT_ACCESSIBLE</A></B></CODE>
+
+<BR>
+ The state in which the resource is when it out of the pool but not accessible by the application.</TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#addStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">addStateChangeEventListener</A></B>(<A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A> listener)</CODE>
+
+<BR>
+ Register an implementation of <A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common"><CODE>StateChangeListener</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#close()">close</A></B>()</CODE>
+
+<BR>
+ Close the physical connection that this <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> represents.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getConnectionHandle()">getConnectionHandle</A></B>()</CODE>
+
+<BR>
+ Create a disposable handler used to drive a pooled instance of
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getLastReleaseDate()">getLastReleaseDate</A></B>()</CODE>
+
+<BR>
+ Get the date at which this object was last released to the pool.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getState()">getState</A></B>()</CODE>
+
+<BR>
+ Get the current resource state.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getXAResourceHolders()">getXAResourceHolders</A></B>()</CODE>
+
+<BR>
+ Get the list of <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that are still open.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#removeStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">removeStateChangeEventListener</A></B>(<A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A> listener)</CODE>
+
+<BR>
+ Unregister an implementation of <A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common"><CODE>StateChangeListener</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#setState(int)">setState</A></B>(int state)</CODE>
+
+<BR>
+ Set the current resource state.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="STATE_CLOSED"><!-- --></A><H3>
+STATE_CLOSED</H3>
+<PRE>
+static final int <B>STATE_CLOSED</B></PRE>
+<DL>
+<DD>The state in which the resource is when it is closed and unusable.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#bitronix.tm.resource.common.XAStatefulHolder.STATE_CLOSED">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="STATE_IN_POOL"><!-- --></A><H3>
+STATE_IN_POOL</H3>
+<PRE>
+static final int <B>STATE_IN_POOL</B></PRE>
+<DL>
+<DD>The state in which the resource is when it is available in the pool.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#bitronix.tm.resource.common.XAStatefulHolder.STATE_IN_POOL">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="STATE_ACCESSIBLE"><!-- --></A><H3>
+STATE_ACCESSIBLE</H3>
+<PRE>
+static final int <B>STATE_ACCESSIBLE</B></PRE>
+<DL>
+<DD>The state in which the resource is when it out of the pool but accessible by the application.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#bitronix.tm.resource.common.XAStatefulHolder.STATE_ACCESSIBLE">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="STATE_NOT_ACCESSIBLE"><!-- --></A><H3>
+STATE_NOT_ACCESSIBLE</H3>
+<PRE>
+static final int <B>STATE_NOT_ACCESSIBLE</B></PRE>
+<DL>
+<DD>The state in which the resource is when it out of the pool but not accessible by the application.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../constant-values.html#bitronix.tm.resource.common.XAStatefulHolder.STATE_NOT_ACCESSIBLE">Constant Field Values</A></DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getState()"><!-- --></A><H3>
+getState</H3>
+<PRE>
+int <B>getState</B>()</PRE>
+<DL>
+<DD>Get the current resource state.
+ <p>This method is thread-safe.</p>
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the current resource state.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setState(int)"><!-- --></A><H3>
+setState</H3>
+<PRE>
+void <B>setState</B>(int state)</PRE>
+<DL>
+<DD>Set the current resource state.
+ <p>This method is thread-safe.</p>
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>state</CODE> - the current resource state.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)"><!-- --></A><H3>
+addStateChangeEventListener</H3>
+<PRE>
+void <B>addStateChangeEventListener</B>(<A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A> listener)</PRE>
+<DL>
+<DD>Register an implementation of <A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common"><CODE>StateChangeListener</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>listener</CODE> - the <A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common"><CODE>StateChangeListener</CODE></A> implementation to register.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)"><!-- --></A><H3>
+removeStateChangeEventListener</H3>
+<PRE>
+void <B>removeStateChangeEventListener</B>(<A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A> listener)</PRE>
+<DL>
+<DD>Unregister an implementation of <A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common"><CODE>StateChangeListener</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>listener</CODE> - the <A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common"><CODE>StateChangeListener</CODE></A> implementation to unregister.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXAResourceHolders()"><!-- --></A><H3>
+getXAResourceHolders</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>getXAResourceHolders</B>()</PRE>
+<DL>
+<DD>Get the list of <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that are still open.
+ <p>This method is thread-safe.</p>
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the list of <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that are still open.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getConnectionHandle()"><!-- --></A><H3>
+getConnectionHandle</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getConnectionHandle</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD>Create a disposable handler used to drive a pooled instance of
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>.
+ <p>This method is thread-safe.</p>
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a resource-specific disaposable connection object.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - a resource-specific exception thrown when the disaposable connection cannot be created.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+void <B>close</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD>Close the physical connection that this <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> represents.
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - a resource-specific exception thrown when there is an error closing the physical connection.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLastReleaseDate()"><!-- --></A><H3>
+getLastReleaseDate</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> <B>getLastReleaseDate</B>()</PRE>
+<DL>
+<DD>Get the date at which this object was last released to the pool. This is required to check if it is eligible
+ for discard when the containing pool needs to shrink.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the date at which this object was last released to the pool or null if it never left the pool.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/XAStatefulHolder.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/common/XAStatefulHolder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="XAStatefulHolder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/common/class-use/AbstractXAResourceHolder.html b/doc/api/bitronix/tm/resource/common/class-use/AbstractXAResourceHolder.html
new file mode 100644
index 0000000..56976fd
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/common/class-use/AbstractXAResourceHolder.html
@@ -0,0 +1,274 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.common.AbstractXAResourceHolder (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.common.AbstractXAResourceHolder (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/common//class-useAbstractXAResourceHolder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="AbstractXAResourceHolder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.common.AbstractXAResourceHolder</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.common"><B>bitronix.tm.resource.common</B></A></TD>
+<TD>
+ Resource management code common across all resource types. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.ehcache"><B>bitronix.tm.resource.ehcache</B></A></TD>
+<TD>
+ Ehcache specific resource management code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jdbc"><B>bitronix.tm.resource.jdbc</B></A></TD>
+<TD>
+ JDBC specific resource management code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jms"><B>bitronix.tm.resource.jms</B></A></TD>
+<TD>
+ Synchronous JMS specific resource management code. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.common"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A> in <A HREF="../../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A> in <A HREF="../../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common">RecoveryXAResourceHolder</A></B></CODE>
+
+<BR>
+ <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> created by an <A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> that is
+ used to perform recovery.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.ehcache"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A> in <A HREF="../../../../../bitronix/tm/resource/ehcache/package-summary.html">bitronix.tm.resource.ehcache</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A> in <A HREF="../../../../../bitronix/tm/resource/ehcache/package-summary.html">bitronix.tm.resource.ehcache</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html" title="class in bitronix.tm.resource.ehcache">EhCacheXAResourceHolder</A></B></CODE>
+
+<BR>
+ EHCache implementation of BTM's XAResourceHolder.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jdbc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A> in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A> in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A></B></CODE>
+
+<BR>
+ Implementation of a JDBC pooled connection wrapping vendor's <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/XAConnection.html?is-external=true" title="class or interface in javax.sql"><CODE>XAConnection</CODE></A> implementation.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jms"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A> in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A> in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A></B></CODE>
+
+<BR>
+ JMS Session wrapper that will send calls to either a XASession or to a non-XA Session depending on the calling
+ context.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/common//class-useAbstractXAResourceHolder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="AbstractXAResourceHolder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/common/class-use/AbstractXAStatefulHolder.html b/doc/api/bitronix/tm/resource/common/class-use/AbstractXAStatefulHolder.html
new file mode 100644
index 0000000..3ec3def
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/common/class-use/AbstractXAStatefulHolder.html
@@ -0,0 +1,290 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.common.AbstractXAStatefulHolder (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.common.AbstractXAStatefulHolder (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/common//class-useAbstractXAStatefulHolder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="AbstractXAStatefulHolder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.common.AbstractXAStatefulHolder</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">AbstractXAStatefulHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.common"><B>bitronix.tm.resource.common</B></A></TD>
+<TD>
+ Resource management code common across all resource types. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.ehcache"><B>bitronix.tm.resource.ehcache</B></A></TD>
+<TD>
+ Ehcache specific resource management code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jdbc"><B>bitronix.tm.resource.jdbc</B></A></TD>
+<TD>
+ JDBC specific resource management code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jms"><B>bitronix.tm.resource.jms</B></A></TD>
+<TD>
+ Synchronous JMS specific resource management code. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.common"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">AbstractXAStatefulHolder</A> in <A HREF="../../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">AbstractXAStatefulHolder</A> in <A HREF="../../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A></B></CODE>
+
+<BR>
+ Implementation of all services required by a <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common">RecoveryXAResourceHolder</A></B></CODE>
+
+<BR>
+ <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> created by an <A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> that is
+ used to perform recovery.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.ehcache"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">AbstractXAStatefulHolder</A> in <A HREF="../../../../../bitronix/tm/resource/ehcache/package-summary.html">bitronix.tm.resource.ehcache</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">AbstractXAStatefulHolder</A> in <A HREF="../../../../../bitronix/tm/resource/ehcache/package-summary.html">bitronix.tm.resource.ehcache</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html" title="class in bitronix.tm.resource.ehcache">EhCacheXAResourceHolder</A></B></CODE>
+
+<BR>
+ EHCache implementation of BTM's XAResourceHolder.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jdbc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">AbstractXAStatefulHolder</A> in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">AbstractXAStatefulHolder</A> in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A></B></CODE>
+
+<BR>
+ Implementation of a JDBC pooled connection wrapping vendor's <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/XAConnection.html?is-external=true" title="class or interface in javax.sql"><CODE>XAConnection</CODE></A> implementation.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jms"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">AbstractXAStatefulHolder</A> in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">AbstractXAStatefulHolder</A> in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A></B></CODE>
+
+<BR>
+ JMS Session wrapper that will send calls to either a XASession or to a non-XA Session depending on the calling
+ context.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A></B></CODE>
+
+<BR>
+ Implementation of a JMS pooled connection wrapping vendor's <CODE>XAConnection</CODE> implementation.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/common//class-useAbstractXAStatefulHolder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="AbstractXAStatefulHolder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/common/class-use/DeferredReleaseSynchronization.html b/doc/api/bitronix/tm/resource/common/class-use/DeferredReleaseSynchronization.html
new file mode 100644
index 0000000..d135a71
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/common/class-use/DeferredReleaseSynchronization.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.common.DeferredReleaseSynchronization (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.common.DeferredReleaseSynchronization (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/common/DeferredReleaseSynchronization.html" title="class in bitronix.tm.resource.common"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/common//class-useDeferredReleaseSynchronization.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="DeferredReleaseSynchronization.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.common.DeferredReleaseSynchronization</B></H2>
+</CENTER>
+No usage of bitronix.tm.resource.common.DeferredReleaseSynchronization
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/common/DeferredReleaseSynchronization.html" title="class in bitronix.tm.resource.common"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/common//class-useDeferredReleaseSynchronization.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="DeferredReleaseSynchronization.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/common/class-use/RecoveryXAResourceHolder.html b/doc/api/bitronix/tm/resource/common/class-use/RecoveryXAResourceHolder.html
new file mode 100644
index 0000000..c87e872
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/common/class-use/RecoveryXAResourceHolder.html
@@ -0,0 +1,212 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.common.RecoveryXAResourceHolder (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.common.RecoveryXAResourceHolder (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/common//class-useRecoveryXAResourceHolder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="RecoveryXAResourceHolder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.common.RecoveryXAResourceHolder</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common">RecoveryXAResourceHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jdbc"><B>bitronix.tm.resource.jdbc</B></A></TD>
+<TD>
+ JDBC specific resource management code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jms"><B>bitronix.tm.resource.jms</B></A></TD>
+<TD>
+ Synchronous JMS specific resource management code. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jdbc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common">RecoveryXAResourceHolder</A> in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A> that return <A HREF="../../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common">RecoveryXAResourceHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common">RecoveryXAResourceHolder</A></CODE></FONT></TD>
+<TD><CODE><B>JdbcPooledConnection.</B><B><A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html#createRecoveryXAResourceHolder()">createRecoveryXAResourceHolder</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jms"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common">RecoveryXAResourceHolder</A> in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A> that return <A HREF="../../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common">RecoveryXAResourceHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common">RecoveryXAResourceHolder</A></CODE></FONT></TD>
+<TD><CODE><B>JmsPooledConnection.</B><B><A HREF="../../../../../bitronix/tm/resource/jms/JmsPooledConnection.html#createRecoveryXAResourceHolder()">createRecoveryXAResourceHolder</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/common//class-useRecoveryXAResourceHolder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="RecoveryXAResourceHolder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/common/class-use/ResourceBean.html b/doc/api/bitronix/tm/resource/common/class-use/ResourceBean.html
new file mode 100644
index 0000000..066c602
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/common/class-use/ResourceBean.html
@@ -0,0 +1,464 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.common.ResourceBean (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.common.ResourceBean (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/common//class-useResourceBean.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ResourceBean.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.common.ResourceBean</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.internal"><B>bitronix.tm.internal</B></A></TD>
+<TD>
+ Internal implementation details. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.common"><B>bitronix.tm.resource.common</B></A></TD>
+<TD>
+ Resource management code common across all resource types. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.ehcache"><B>bitronix.tm.resource.ehcache</B></A></TD>
+<TD>
+ Ehcache specific resource management code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jdbc"><B>bitronix.tm.resource.jdbc</B></A></TD>
+<TD>
+ JDBC specific resource management code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jms"><B>bitronix.tm.resource.jms</B></A></TD>
+<TD>
+ Synchronous JMS specific resource management code. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.internal"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> in <A HREF="../../../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A> with parameters of type <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/internal/XAResourceHolderState.html#XAResourceHolderState(bitronix.tm.resource.common.XAResourceHolder, bitronix.tm.resource.common.ResourceBean)">XAResourceHolderState</A></B>(<A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> resourceHolder,
+ <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.common"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> in <A HREF="../../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A> that return <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A></CODE></FONT></TD>
+<TD><CODE><B>XAResourceHolder.</B><B><A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html#getResourceBean()">getResourceBean</A></B>()</CODE>
+
+<BR>
+ Get the ResourceBean which created this XAResourceHolder.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A></CODE></FONT></TD>
+<TD><CODE><B>RecoveryXAResourceHolder.</B><B><A HREF="../../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html#getResourceBean()">getResourceBean</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A> with parameters of type <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></CODE></FONT></TD>
+<TD><CODE><B>XAResourceProducer.</B><B><A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html#createPooledConnection(java.lang.Object, bitronix.tm.resource.common.ResourceBean)">createPooledConnection</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> xaFactory,
+ <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)</CODE>
+
+<BR>
+ Create a <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that will be placed in an <A HREF="../../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common"><CODE>XAPool</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B>TransactionContextHelper.</B><B><A HREF="../../../../../bitronix/tm/resource/common/TransactionContextHelper.html#requeue(bitronix.tm.resource.common.XAStatefulHolder, bitronix.tm.resource.common.ResourceBean)">requeue</A></B>(<A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> xaStatefulHolder,
+ <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)</CODE>
+
+<BR>
+ Switch the <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>'s state appropriately after the acquired resource handle has been closed.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A> with parameters of type <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/common/XAPool.html#XAPool(bitronix.tm.resource.common.XAResourceProducer, bitronix.tm.resource.common.ResourceBean)">XAPool</A></B>(<A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A> xaResourceProducer,
+ <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.ehcache"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> in <A HREF="../../../../../bitronix/tm/resource/ehcache/package-summary.html">bitronix.tm.resource.ehcache</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> in <A HREF="../../../../../bitronix/tm/resource/ehcache/package-summary.html">bitronix.tm.resource.ehcache</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html" title="class in bitronix.tm.resource.ehcache">EhCacheXAResourceProducer</A></B></CODE>
+
+<BR>
+ EHCache implementation of BTM's XAResourceProducer.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/ehcache/package-summary.html">bitronix.tm.resource.ehcache</A> that return <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A></CODE></FONT></TD>
+<TD><CODE><B>EhCacheXAResourceHolder.</B><B><A HREF="../../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html#getResourceBean()">getResourceBean</A></B>()</CODE>
+
+<BR>
+ Get the ResourceBean which created this XAResourceHolder.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/ehcache/package-summary.html">bitronix.tm.resource.ehcache</A> with parameters of type <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></CODE></FONT></TD>
+<TD><CODE><B>EhCacheXAResourceProducer.</B><B><A HREF="../../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html#createPooledConnection(java.lang.Object, bitronix.tm.resource.common.ResourceBean)">createPooledConnection</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> xaFactory,
+ <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)</CODE>
+
+<BR>
+ Create a <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that will be placed in an <A HREF="../../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common"><CODE>XAPool</CODE></A>.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../bitronix/tm/resource/ehcache/package-summary.html">bitronix.tm.resource.ehcache</A> with parameters of type <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html#EhCacheXAResourceHolder(javax.transaction.xa.XAResource, bitronix.tm.resource.common.ResourceBean)">EhCacheXAResourceHolder</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> resource,
+ <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)</CODE>
+
+<BR>
+ Create a new EhCacheXAResourceHolder for a particular XAResource</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jdbc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A></B></CODE>
+
+<BR>
+ Implementation of a JDBC <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql"><CODE>DataSource</CODE></A> wrapping vendor's <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/XADataSource.html?is-external=true" title="class or interface in javax.sql"><CODE>XADataSource</CODE></A> implementation.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A> that return <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A></CODE></FONT></TD>
+<TD><CODE><B>JdbcPooledConnection.</B><B><A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html#getResourceBean()">getResourceBean</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A> with parameters of type <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></CODE></FONT></TD>
+<TD><CODE><B>PoolingDataSource.</B><B><A HREF="../../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#createPooledConnection(java.lang.Object, bitronix.tm.resource.common.ResourceBean)">createPooledConnection</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> xaFactory,
+ <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jms"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A></B></CODE>
+
+<BR>
+ Implementation of a JMS <CODE>ConnectionFactory</CODE> wrapping vendor's <CODE>XAConnectionFactory</CODE> implementation.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A> that return <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A></CODE></FONT></TD>
+<TD><CODE><B>DualSessionWrapper.</B><B><A HREF="../../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#getResourceBean()">getResourceBean</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A> with parameters of type <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></CODE></FONT></TD>
+<TD><CODE><B>PoolingConnectionFactory.</B><B><A HREF="../../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html#createPooledConnection(java.lang.Object, bitronix.tm.resource.common.ResourceBean)">createPooledConnection</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> xaFactory,
+ <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/common//class-useResourceBean.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ResourceBean.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/common/class-use/StateChangeListener.html b/doc/api/bitronix/tm/resource/common/class-use/StateChangeListener.html
new file mode 100644
index 0000000..a4b5390
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/common/class-use/StateChangeListener.html
@@ -0,0 +1,283 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Interface bitronix.tm.resource.common.StateChangeListener (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface bitronix.tm.resource.common.StateChangeListener (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/common//class-useStateChangeListener.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="StateChangeListener.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>bitronix.tm.resource.common.StateChangeListener</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.common"><B>bitronix.tm.resource.common</B></A></TD>
+<TD>
+ Resource management code common across all resource types. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jdbc"><B>bitronix.tm.resource.jdbc</B></A></TD>
+<TD>
+ JDBC specific resource management code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jms"><B>bitronix.tm.resource.jms</B></A></TD>
+<TD>
+ Synchronous JMS specific resource management code. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.common"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A> in <A HREF="../../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A> that implement <A HREF="../../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A></B></CODE>
+
+<BR>
+ Generic XA pool.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A> with parameters of type <A HREF="../../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XAStatefulHolder.</B><B><A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html#addStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">addStateChangeEventListener</A></B>(<A HREF="../../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A> listener)</CODE>
+
+<BR>
+ Register an implementation of <A HREF="../../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common"><CODE>StateChangeListener</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractXAStatefulHolder.</B><B><A HREF="../../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html#addStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">addStateChangeEventListener</A></B>(<A HREF="../../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A> listener)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XAStatefulHolder.</B><B><A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html#removeStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">removeStateChangeEventListener</A></B>(<A HREF="../../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A> listener)</CODE>
+
+<BR>
+ Unregister an implementation of <A HREF="../../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common"><CODE>StateChangeListener</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>AbstractXAStatefulHolder.</B><B><A HREF="../../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html#removeStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">removeStateChangeEventListener</A></B>(<A HREF="../../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A> listener)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jdbc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A> in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A> that implement <A HREF="../../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A></B></CODE>
+
+<BR>
+ Implementation of a JDBC pooled connection wrapping vendor's <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/XAConnection.html?is-external=true" title="class or interface in javax.sql"><CODE>XAConnection</CODE></A> implementation.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jms"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A> in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A> that implement <A HREF="../../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A></B></CODE>
+
+<BR>
+ JMS Session wrapper that will send calls to either a XASession or to a non-XA Session depending on the calling
+ context.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/common//class-useStateChangeListener.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="StateChangeListener.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/common/class-use/TransactionContextHelper.html b/doc/api/bitronix/tm/resource/common/class-use/TransactionContextHelper.html
new file mode 100644
index 0000000..b44367d
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/common/class-use/TransactionContextHelper.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.common.TransactionContextHelper (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.common.TransactionContextHelper (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/common/TransactionContextHelper.html" title="class in bitronix.tm.resource.common"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/common//class-useTransactionContextHelper.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionContextHelper.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.common.TransactionContextHelper</B></H2>
+</CENTER>
+No usage of bitronix.tm.resource.common.TransactionContextHelper
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/common/TransactionContextHelper.html" title="class in bitronix.tm.resource.common"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/common//class-useTransactionContextHelper.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionContextHelper.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/common/class-use/XAPool.html b/doc/api/bitronix/tm/resource/common/class-use/XAPool.html
new file mode 100644
index 0000000..00e7006
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/common/class-use/XAPool.html
@@ -0,0 +1,206 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.common.XAPool (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.common.XAPool (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/common//class-useXAPool.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="XAPool.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.common.XAPool</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.timer"><B>bitronix.tm.timer</B></A></TD>
+<TD>
+ Timed tasks scheduler. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.timer"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A> in <A HREF="../../../../../bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A> with parameters of type <A HREF="../../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>TaskScheduler.</B><B><A HREF="../../../../../bitronix/tm/timer/TaskScheduler.html#cancelPoolShrinking(bitronix.tm.resource.common.XAPool)">cancelPoolShrinking</A></B>(<A HREF="../../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A> xaPool)</CODE>
+
+<BR>
+ Cancel the task that will tell a XA pool to close idle connections.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>TaskScheduler.</B><B><A HREF="../../../../../bitronix/tm/timer/TaskScheduler.html#schedulePoolShrinking(bitronix.tm.resource.common.XAPool)">schedulePoolShrinking</A></B>(<A HREF="../../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A> xaPool)</CODE>
+
+<BR>
+ Schedule a task that will tell a XA pool to close idle connections.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A> with parameters of type <A HREF="../../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/timer/PoolShrinkingTask.html#PoolShrinkingTask(bitronix.tm.resource.common.XAPool, java.util.Date, bitronix.tm.timer.TaskScheduler)">PoolShrinkingTask</A></B>(<A HREF="../../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A> xaPool,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> executionTime,
+ <A HREF="../../../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A> scheduler)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/common//class-useXAPool.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="XAPool.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/common/class-use/XAResourceHolder.html b/doc/api/bitronix/tm/resource/common/class-use/XAResourceHolder.html
new file mode 100644
index 0000000..4b15bf8
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/common/class-use/XAResourceHolder.html
@@ -0,0 +1,487 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Interface bitronix.tm.resource.common.XAResourceHolder (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface bitronix.tm.resource.common.XAResourceHolder (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/common//class-useXAResourceHolder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="XAResourceHolder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>bitronix.tm.resource.common.XAResourceHolder</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.internal"><B>bitronix.tm.internal</B></A></TD>
+<TD>
+ Internal implementation details. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource"><B>bitronix.tm.resource</B></A></TD>
+<TD>
+ Transaction Manager's resource management services. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.common"><B>bitronix.tm.resource.common</B></A></TD>
+<TD>
+ Resource management code common across all resource types. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.ehcache"><B>bitronix.tm.resource.ehcache</B></A></TD>
+<TD>
+ Ehcache specific resource management code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jdbc"><B>bitronix.tm.resource.jdbc</B></A></TD>
+<TD>
+ JDBC specific resource management code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jms"><B>bitronix.tm.resource.jms</B></A></TD>
+<TD>
+ Synchronous JMS specific resource management code. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.internal"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> in <A HREF="../../../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A> that return <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></CODE></FONT></TD>
+<TD><CODE><B>XAResourceHolderState.</B><B><A HREF="../../../../../bitronix/tm/internal/XAResourceHolderState.html#getXAResourceHolder()">getXAResourceHolder</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A> with parameters of type <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/internal/XAResourceHolderState.html#XAResourceHolderState(bitronix.tm.resource.common.XAResourceHolder, bitronix.tm.resource.common.ResourceBean)">XAResourceHolderState</A></B>(<A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> resourceHolder,
+ <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> in <A HREF="../../../../../bitronix/tm/resource/package-summary.html">bitronix.tm.resource</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/package-summary.html">bitronix.tm.resource</A> that return <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></CODE></FONT></TD>
+<TD><CODE><B>ResourceRegistrar.</B><B><A HREF="../../../../../bitronix/tm/resource/ResourceRegistrar.html#findXAResourceHolder(javax.transaction.xa.XAResource)">findXAResourceHolder</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)</CODE>
+
+<BR>
+ Find in the registered <A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>s the <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> from which the specified <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/tran [...]
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.common"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> in <A HREF="../../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A> that implement <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A></B></CODE>
+
+<BR>
+ Implementation of all services required by a <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common">RecoveryXAResourceHolder</A></B></CODE>
+
+<BR>
+ <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> created by an <A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> that is
+ used to perform recovery.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A> that return <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></CODE></FONT></TD>
+<TD><CODE><B>XAResourceProducer.</B><B><A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html#findXAResourceHolder(javax.transaction.xa.XAResource)">findXAResourceHolder</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)</CODE>
+
+<BR>
+ Find in the <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this <A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> the one which this
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> belongs to.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></CODE></FONT></TD>
+<TD><CODE><B>XAPool.</B><B><A HREF="../../../../../bitronix/tm/resource/common/XAPool.html#findXAResourceHolder(javax.transaction.xa.XAResource)">findXAResourceHolder</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A> with parameters of type <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B>TransactionContextHelper.</B><B><A HREF="../../../../../bitronix/tm/resource/common/TransactionContextHelper.html#delistFromCurrentTransaction(bitronix.tm.resource.common.XAResourceHolder)">delistFromCurrentTransaction</A></B>(<A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> xaResourceHolder)</CODE>
+
+<BR>
+ Delist the <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> from the current transaction or do nothing if there is no global transaction
+ context for this thread.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B>TransactionContextHelper.</B><B><A HREF="../../../../../bitronix/tm/resource/common/TransactionContextHelper.html#enlistInCurrentTransaction(bitronix.tm.resource.common.XAResourceHolder)">enlistInCurrentTransaction</A></B>(<A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> xaResourceHolder)</CODE>
+
+<BR>
+ Enlist the <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> in the current transaction or do nothing if there is no global transaction
+ context for this thread.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>XAResourceHolder.</B><B><A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html#hasStateForXAResource(bitronix.tm.resource.common.XAResourceHolder)">hasStateForXAResource</A></B>(<A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> xaResourceHolder)</CODE>
+
+<BR>
+ Check if this <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> contains a state for a specific <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B>AbstractXAResourceHolder.</B><B><A HREF="../../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html#hasStateForXAResource(bitronix.tm.resource.common.XAResourceHolder)">hasStateForXAResource</A></B>(<A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> xaResourceHolder)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A> with parameters of type <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html#RecoveryXAResourceHolder(bitronix.tm.resource.common.XAResourceHolder)">RecoveryXAResourceHolder</A></B>(<A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> xaResourceHolder)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.ehcache"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> in <A HREF="../../../../../bitronix/tm/resource/ehcache/package-summary.html">bitronix.tm.resource.ehcache</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../bitronix/tm/resource/ehcache/package-summary.html">bitronix.tm.resource.ehcache</A> that implement <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html" title="class in bitronix.tm.resource.ehcache">EhCacheXAResourceHolder</A></B></CODE>
+
+<BR>
+ EHCache implementation of BTM's XAResourceHolder.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/ehcache/package-summary.html">bitronix.tm.resource.ehcache</A> that return <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></CODE></FONT></TD>
+<TD><CODE><B>EhCacheXAResourceProducer.</B><B><A HREF="../../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html#findXAResourceHolder(javax.transaction.xa.XAResource)">findXAResourceHolder</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)</CODE>
+
+<BR>
+ Find in the <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this <A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> the one which this
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> belongs to.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jdbc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A> that implement <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A></B></CODE>
+
+<BR>
+ Implementation of a JDBC pooled connection wrapping vendor's <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/XAConnection.html?is-external=true" title="class or interface in javax.sql"><CODE>XAConnection</CODE></A> implementation.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A> that return <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></CODE></FONT></TD>
+<TD><CODE><B>PoolingDataSource.</B><B><A HREF="../../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#findXAResourceHolder(javax.transaction.xa.XAResource)">findXAResourceHolder</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jms"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A> that implement <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A></B></CODE>
+
+<BR>
+ JMS Session wrapper that will send calls to either a XASession or to a non-XA Session depending on the calling
+ context.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A> that return <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></CODE></FONT></TD>
+<TD><CODE><B>PoolingConnectionFactory.</B><B><A HREF="../../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html#findXAResourceHolder(javax.transaction.xa.XAResource)">findXAResourceHolder</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/common//class-useXAResourceHolder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="XAResourceHolder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/common/class-use/XAResourceProducer.html b/doc/api/bitronix/tm/resource/common/class-use/XAResourceProducer.html
new file mode 100644
index 0000000..84430df
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/common/class-use/XAResourceProducer.html
@@ -0,0 +1,355 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Interface bitronix.tm.resource.common.XAResourceProducer (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface bitronix.tm.resource.common.XAResourceProducer (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/common//class-useXAResourceProducer.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="XAResourceProducer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>bitronix.tm.resource.common.XAResourceProducer</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.recovery"><B>bitronix.tm.recovery</B></A></TD>
+<TD>
+ Recovery logic. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource"><B>bitronix.tm.resource</B></A></TD>
+<TD>
+ Transaction Manager's resource management services. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.common"><B>bitronix.tm.resource.common</B></A></TD>
+<TD>
+ Resource management code common across all resource types. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.ehcache"><B>bitronix.tm.resource.ehcache</B></A></TD>
+<TD>
+ Ehcache specific resource management code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jdbc"><B>bitronix.tm.resource.jdbc</B></A></TD>
+<TD>
+ JDBC specific resource management code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jms"><B>bitronix.tm.resource.jms</B></A></TD>
+<TD>
+ Synchronous JMS specific resource management code. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.recovery"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A> in <A HREF="../../../../../bitronix/tm/recovery/package-summary.html">bitronix.tm.recovery</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/recovery/package-summary.html">bitronix.tm.recovery</A> with parameters of type <A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B>IncrementalRecoverer.</B><B><A HREF="../../../../../bitronix/tm/recovery/IncrementalRecoverer.html#recover(bitronix.tm.resource.common.XAResourceProducer)">recover</A></B>(<A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A> xaResourceProducer)</CODE>
+
+<BR>
+ Run incremental recovery on the specified resource.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A> in <A HREF="../../../../../bitronix/tm/resource/package-summary.html">bitronix.tm.resource</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/package-summary.html">bitronix.tm.resource</A> that return <A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></CODE></FONT></TD>
+<TD><CODE><B>ResourceRegistrar.</B><B><A HREF="../../../../../bitronix/tm/resource/ResourceRegistrar.html#get(java.lang.String)">get</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> uniqueName)</CODE>
+
+<BR>
+ Get a registered <A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/package-summary.html">bitronix.tm.resource</A> with parameters of type <A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B>ResourceRegistrar.</B><B><A HREF="../../../../../bitronix/tm/resource/ResourceRegistrar.html#register(bitronix.tm.resource.common.XAResourceProducer)">register</A></B>(<A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A> producer)</CODE>
+
+<BR>
+ Register a <A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B>ResourceRegistrar.</B><B><A HREF="../../../../../bitronix/tm/resource/ResourceRegistrar.html#unregister(bitronix.tm.resource.common.XAResourceProducer)">unregister</A></B>(<A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A> producer)</CODE>
+
+<BR>
+ Unregister a previously registered <A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.common"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A> in <A HREF="../../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A> with parameters of type <A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/common/XAPool.html#XAPool(bitronix.tm.resource.common.XAResourceProducer, bitronix.tm.resource.common.ResourceBean)">XAPool</A></B>(<A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A> xaResourceProducer,
+ <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.ehcache"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A> in <A HREF="../../../../../bitronix/tm/resource/ehcache/package-summary.html">bitronix.tm.resource.ehcache</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../bitronix/tm/resource/ehcache/package-summary.html">bitronix.tm.resource.ehcache</A> that implement <A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html" title="class in bitronix.tm.resource.ehcache">EhCacheXAResourceProducer</A></B></CODE>
+
+<BR>
+ EHCache implementation of BTM's XAResourceProducer.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jdbc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A> in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A> that implement <A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A></B></CODE>
+
+<BR>
+ Implementation of a JDBC <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql"><CODE>DataSource</CODE></A> wrapping vendor's <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/XADataSource.html?is-external=true" title="class or interface in javax.sql"><CODE>XADataSource</CODE></A> implementation.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jms"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A> in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A> that implement <A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A></B></CODE>
+
+<BR>
+ Implementation of a JMS <CODE>ConnectionFactory</CODE> wrapping vendor's <CODE>XAConnectionFactory</CODE> implementation.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/common//class-useXAResourceProducer.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="XAResourceProducer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/common/class-use/XAStatefulHolder.html b/doc/api/bitronix/tm/resource/common/class-use/XAStatefulHolder.html
new file mode 100644
index 0000000..f07929f
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/common/class-use/XAStatefulHolder.html
@@ -0,0 +1,525 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Interface bitronix.tm.resource.common.XAStatefulHolder (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface bitronix.tm.resource.common.XAStatefulHolder (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/common//class-useXAStatefulHolder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="XAStatefulHolder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>bitronix.tm.resource.common.XAStatefulHolder</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.common"><B>bitronix.tm.resource.common</B></A></TD>
+<TD>
+ Resource management code common across all resource types. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.ehcache"><B>bitronix.tm.resource.ehcache</B></A></TD>
+<TD>
+ Ehcache specific resource management code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jdbc"><B>bitronix.tm.resource.jdbc</B></A></TD>
+<TD>
+ JDBC specific resource management code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jms"><B>bitronix.tm.resource.jms</B></A></TD>
+<TD>
+ Synchronous JMS specific resource management code. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.common"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> in <A HREF="../../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Subinterfaces of <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> in <A HREF="../../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></B></CODE>
+
+<BR>
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> wrappers must implement this interface.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A> that implement <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A></B></CODE>
+
+<BR>
+ Implementation of all services required by a <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">AbstractXAStatefulHolder</A></B></CODE>
+
+<BR>
+ Implementation of all services required by a <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common">RecoveryXAResourceHolder</A></B></CODE>
+
+<BR>
+ <A HREF="../../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> created by an <A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> that is
+ used to perform recovery.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A> that return <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></CODE></FONT></TD>
+<TD><CODE><B>XAResourceProducer.</B><B><A HREF="../../../../../bitronix/tm/resource/common/XAResourceProducer.html#createPooledConnection(java.lang.Object, bitronix.tm.resource.common.ResourceBean)">createPooledConnection</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> xaFactory,
+ <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)</CODE>
+
+<BR>
+ Create a <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that will be placed in an <A HREF="../../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common"><CODE>XAPool</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></CODE></FONT></TD>
+<TD><CODE><B>DeferredReleaseSynchronization.</B><B><A HREF="../../../../../bitronix/tm/resource/common/DeferredReleaseSynchronization.html#getXAStatefulHolder()">getXAStatefulHolder</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A> with parameters of type <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B>TransactionContextHelper.</B><B><A HREF="../../../../../bitronix/tm/resource/common/TransactionContextHelper.html#recycle(bitronix.tm.resource.common.XAStatefulHolder)">recycle</A></B>(<A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> xaStatefulHolder)</CODE>
+
+<BR>
+ Ensure the <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>'s release won't be deferred anymore (when appropriate) as it has been recycled.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B>TransactionContextHelper.</B><B><A HREF="../../../../../bitronix/tm/resource/common/TransactionContextHelper.html#requeue(bitronix.tm.resource.common.XAStatefulHolder, bitronix.tm.resource.common.ResourceBean)">requeue</A></B>(<A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> xaStatefulHolder,
+ <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)</CODE>
+
+<BR>
+ Switch the <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>'s state appropriately after the acquired resource handle has been closed.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XAPool.</B><B><A HREF="../../../../../bitronix/tm/resource/common/XAPool.html#stateChanged(bitronix.tm.resource.common.XAStatefulHolder, int, int)">stateChanged</A></B>(<A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> source,
+ int oldState,
+ int newState)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>StateChangeListener.</B><B><A HREF="../../../../../bitronix/tm/resource/common/StateChangeListener.html#stateChanged(bitronix.tm.resource.common.XAStatefulHolder, int, int)">stateChanged</A></B>(<A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> source,
+ int oldState,
+ int newState)</CODE>
+
+<BR>
+ Fired when the internal state of a <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> has changed.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>XAPool.</B><B><A HREF="../../../../../bitronix/tm/resource/common/XAPool.html#stateChanging(bitronix.tm.resource.common.XAStatefulHolder, int, int)">stateChanging</A></B>(<A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> source,
+ int currentState,
+ int futureState)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>StateChangeListener.</B><B><A HREF="../../../../../bitronix/tm/resource/common/StateChangeListener.html#stateChanging(bitronix.tm.resource.common.XAStatefulHolder, int, int)">stateChanging</A></B>(<A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> source,
+ int currentState,
+ int futureState)</CODE>
+
+<BR>
+ Fired before the internal state of a <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> has changed.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A> with parameters of type <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/common/DeferredReleaseSynchronization.html#DeferredReleaseSynchronization(bitronix.tm.resource.common.XAStatefulHolder)">DeferredReleaseSynchronization</A></B>(<A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> xaStatefulHolder)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.ehcache"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> in <A HREF="../../../../../bitronix/tm/resource/ehcache/package-summary.html">bitronix.tm.resource.ehcache</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../bitronix/tm/resource/ehcache/package-summary.html">bitronix.tm.resource.ehcache</A> that implement <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html" title="class in bitronix.tm.resource.ehcache">EhCacheXAResourceHolder</A></B></CODE>
+
+<BR>
+ EHCache implementation of BTM's XAResourceHolder.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/ehcache/package-summary.html">bitronix.tm.resource.ehcache</A> that return <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></CODE></FONT></TD>
+<TD><CODE><B>EhCacheXAResourceProducer.</B><B><A HREF="../../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html#createPooledConnection(java.lang.Object, bitronix.tm.resource.common.ResourceBean)">createPooledConnection</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> xaFactory,
+ <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)</CODE>
+
+<BR>
+ Create a <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that will be placed in an <A HREF="../../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common"><CODE>XAPool</CODE></A>.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jdbc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A> that implement <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A></B></CODE>
+
+<BR>
+ Implementation of a JDBC pooled connection wrapping vendor's <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/XAConnection.html?is-external=true" title="class or interface in javax.sql"><CODE>XAConnection</CODE></A> implementation.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A> that return <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></CODE></FONT></TD>
+<TD><CODE><B>PoolingDataSource.</B><B><A HREF="../../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#createPooledConnection(java.lang.Object, bitronix.tm.resource.common.ResourceBean)">createPooledConnection</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> xaFactory,
+ <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A> with parameters of type <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>JdbcPooledConnection.</B><B><A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html#stateChanged(bitronix.tm.resource.common.XAStatefulHolder, int, int)">stateChanged</A></B>(<A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> source,
+ int oldState,
+ int newState)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>JdbcPooledConnection.</B><B><A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html#stateChanging(bitronix.tm.resource.common.XAStatefulHolder, int, int)">stateChanging</A></B>(<A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> source,
+ int currentState,
+ int futureState)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jms"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A> that implement <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A></B></CODE>
+
+<BR>
+ JMS Session wrapper that will send calls to either a XASession or to a non-XA Session depending on the calling
+ context.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A></B></CODE>
+
+<BR>
+ Implementation of a JMS pooled connection wrapping vendor's <CODE>XAConnection</CODE> implementation.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A> that return <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></CODE></FONT></TD>
+<TD><CODE><B>PoolingConnectionFactory.</B><B><A HREF="../../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html#createPooledConnection(java.lang.Object, bitronix.tm.resource.common.ResourceBean)">createPooledConnection</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> xaFactory,
+ <A HREF="../../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A> with parameters of type <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>DualSessionWrapper.</B><B><A HREF="../../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#stateChanged(bitronix.tm.resource.common.XAStatefulHolder, int, int)">stateChanged</A></B>(<A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> source,
+ int oldState,
+ int newState)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>DualSessionWrapper.</B><B><A HREF="../../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#stateChanging(bitronix.tm.resource.common.XAStatefulHolder, int, int)">stateChanging</A></B>(<A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> source,
+ int currentState,
+ int futureState)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/common//class-useXAStatefulHolder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="XAStatefulHolder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/common/package-frame.html b/doc/api/bitronix/tm/resource/common/package-frame.html
new file mode 100644
index 0000000..9e42298
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/common/package-frame.html
@@ -0,0 +1,62 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.resource.common (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../../bitronix/tm/resource/common/package-summary.html" target="classFrame">bitronix.tm.resource.common</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Interfaces</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="StateChangeListener.html" title="interface in bitronix.tm.resource.common" target="classFrame"><I>StateChangeListener</I></A>
+<BR>
+<A HREF="XAResourceHolder.html" title="interface in bitronix.tm.resource.common" target="classFrame"><I>XAResourceHolder</I></A>
+<BR>
+<A HREF="XAResourceProducer.html" title="interface in bitronix.tm.resource.common" target="classFrame"><I>XAResourceProducer</I></A>
+<BR>
+<A HREF="XAStatefulHolder.html" title="interface in bitronix.tm.resource.common" target="classFrame"><I>XAStatefulHolder</I></A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common" target="classFrame">AbstractXAResourceHolder</A>
+<BR>
+<A HREF="AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common" target="classFrame">AbstractXAStatefulHolder</A>
+<BR>
+<A HREF="DeferredReleaseSynchronization.html" title="class in bitronix.tm.resource.common" target="classFrame">DeferredReleaseSynchronization</A>
+<BR>
+<A HREF="RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common" target="classFrame">RecoveryXAResourceHolder</A>
+<BR>
+<A HREF="ResourceBean.html" title="class in bitronix.tm.resource.common" target="classFrame">ResourceBean</A>
+<BR>
+<A HREF="TransactionContextHelper.html" title="class in bitronix.tm.resource.common" target="classFrame">TransactionContextHelper</A>
+<BR>
+<A HREF="XAPool.html" title="class in bitronix.tm.resource.common" target="classFrame">XAPool</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/common/package-summary.html b/doc/api/bitronix/tm/resource/common/package-summary.html
new file mode 100644
index 0000000..01ba7ad
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/common/package-summary.html
@@ -0,0 +1,228 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.resource.common (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.resource.common (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/package-summary.html"><B>PREV PACKAGE</B></A>
+ <A HREF="../../../../bitronix/tm/resource/ehcache/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/common/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package bitronix.tm.resource.common
+</H2>
+
+ Resource management code common across all resource types.
+<P>
+<B>See:</B>
+<BR>
+ <A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Interface Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A></B></TD>
+<TD><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> state change listener interface.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></B></TD>
+<TD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> wrappers must implement this interface.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></B></TD>
+<TD>A <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> is a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> factory.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></B></TD>
+<TD>Any pooled connection class must implement the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> interface.</TD>
+</TR>
+</TABLE>
+
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A></B></TD>
+<TD>Implementation of all services required by a <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">AbstractXAStatefulHolder</A></B></TD>
+<TD>Implementation of all services required by a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/common/DeferredReleaseSynchronization.html" title="class in bitronix.tm.resource.common">DeferredReleaseSynchronization</A></B></TD>
+<TD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Synchronization.html?is-external=true" title="class or interface in javax.transaction"><CODE>Synchronization</CODE></A> used to release a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> object after 2PC has executed.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common">RecoveryXAResourceHolder</A></B></TD>
+<TD><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> created by an <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> that is
+ used to perform recovery.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A></B></TD>
+<TD>Abstract javabean container for all common properties of a <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> as configured in the
+ resources configuration file.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/common/TransactionContextHelper.html" title="class in bitronix.tm.resource.common">TransactionContextHelper</A></B></TD>
+<TD>Helper class that contains static logic common accross all resource types.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A></B></TD>
+<TD>Generic XA pool.</TD>
+</TR>
+</TABLE>
+
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package bitronix.tm.resource.common Description
+</H2>
+
+<P>
+<p>
+ Resource management code common across all resource types.
+ </p>
+<P>
+
+<P>
+<DL>
+</DL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/package-summary.html"><B>PREV PACKAGE</B></A>
+ <A HREF="../../../../bitronix/tm/resource/ehcache/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/common/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/common/package-tree.html b/doc/api/bitronix/tm/resource/common/package-tree.html
new file mode 100644
index 0000000..848ceb6
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/common/package-tree.html
@@ -0,0 +1,176 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.resource.common Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.resource.common Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/package-tree.html"><B>PREV</B></A>
+ <A HREF="../../../../bitronix/tm/resource/ehcache/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/common/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package bitronix.tm.resource.common
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common"><B>AbstractXAStatefulHolder</B></A> (implements bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A>)
+<UL>
+<LI TYPE="circle">bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common"><B>AbstractXAResourceHolder</B></A> (implements bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A>)
+<UL>
+<LI TYPE="circle">bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common"><B>RecoveryXAResourceHolder</B></A></UL>
+</UL>
+<LI TYPE="circle">bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/DeferredReleaseSynchronization.html" title="class in bitronix.tm.resource.common"><B>DeferredReleaseSynchronization</B></A> (implements javax.transaction.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Synchronization.html?is-external=true" title="class or interface in javax.transaction">Synchronization</A>)
+<LI TYPE="circle">bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common"><B>ResourceBean</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>)
+<LI TYPE="circle">bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/TransactionContextHelper.html" title="class in bitronix.tm.resource.common"><B>TransactionContextHelper</B></A><LI TYPE="circle">bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common"><B>XAPool</B></A> (implements bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" [...]
+</UL>
+</UL>
+<H2>
+Interface Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">javax.naming.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Referenceable.html?is-external=true" title="class or interface in javax.naming"><B>Referenceable</B></A><UL>
+<LI TYPE="circle">bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><B>XAResourceProducer</B></A> (also extends java.io.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>)
+</UL>
+<LI TYPE="circle">java.io.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><B>Serializable</B></A><UL>
+<LI TYPE="circle">bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><B>XAResourceProducer</B></A> (also extends javax.naming.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Referenceable.html?is-external=true" title="class or interface in javax.naming">Referenceable</A>)
+</UL>
+<LI TYPE="circle">bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common"><B>StateChangeListener</B></A><LI TYPE="circle">bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><B>XAStatefulHolder</B></A><UL>
+<LI TYPE="circle">bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><B>XAResourceHolder</B></A></UL>
+</UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/package-tree.html"><B>PREV</B></A>
+ <A HREF="../../../../bitronix/tm/resource/ehcache/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/common/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/common/package-use.html b/doc/api/bitronix/tm/resource/common/package-use.html
new file mode 100644
index 0000000..ac9bd1c
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/common/package-use.html
@@ -0,0 +1,481 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Package bitronix.tm.resource.common (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Package bitronix.tm.resource.common (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/common/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>bitronix.tm.resource.common</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.internal"><B>bitronix.tm.internal</B></A></TD>
+<TD>
+ Internal implementation details. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.recovery"><B>bitronix.tm.recovery</B></A></TD>
+<TD>
+ Recovery logic. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource"><B>bitronix.tm.resource</B></A></TD>
+<TD>
+ Transaction Manager's resource management services. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.common"><B>bitronix.tm.resource.common</B></A></TD>
+<TD>
+ Resource management code common across all resource types. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.ehcache"><B>bitronix.tm.resource.ehcache</B></A></TD>
+<TD>
+ Ehcache specific resource management code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jdbc"><B>bitronix.tm.resource.jdbc</B></A></TD>
+<TD>
+ JDBC specific resource management code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jms"><B>bitronix.tm.resource.jms</B></A></TD>
+<TD>
+ Synchronous JMS specific resource management code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.timer"><B>bitronix.tm.timer</B></A></TD>
+<TD>
+ Timed tasks scheduler. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.internal"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A> used by <A HREF="../../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/ResourceBean.html#bitronix.tm.internal"><B>ResourceBean</B></A></B>
+
+<BR>
+ Abstract javabean container for all common properties of a <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> as configured in the
+ resources configuration file.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/XAResourceHolder.html#bitronix.tm.internal"><B>XAResourceHolder</B></A></B>
+
+<BR>
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> wrappers must implement this interface.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.recovery"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A> used by <A HREF="../../../../bitronix/tm/recovery/package-summary.html">bitronix.tm.recovery</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/XAResourceProducer.html#bitronix.tm.recovery"><B>XAResourceProducer</B></A></B>
+
+<BR>
+ A <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> is a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> factory.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A> used by <A HREF="../../../../bitronix/tm/resource/package-summary.html">bitronix.tm.resource</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/XAResourceHolder.html#bitronix.tm.resource"><B>XAResourceHolder</B></A></B>
+
+<BR>
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> wrappers must implement this interface.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/XAResourceProducer.html#bitronix.tm.resource"><B>XAResourceProducer</B></A></B>
+
+<BR>
+ A <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> is a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> factory.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.common"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A> used by <A HREF="../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/AbstractXAResourceHolder.html#bitronix.tm.resource.common"><B>AbstractXAResourceHolder</B></A></B>
+
+<BR>
+ Implementation of all services required by a <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/AbstractXAStatefulHolder.html#bitronix.tm.resource.common"><B>AbstractXAStatefulHolder</B></A></B>
+
+<BR>
+ Implementation of all services required by a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/ResourceBean.html#bitronix.tm.resource.common"><B>ResourceBean</B></A></B>
+
+<BR>
+ Abstract javabean container for all common properties of a <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> as configured in the
+ resources configuration file.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/StateChangeListener.html#bitronix.tm.resource.common"><B>StateChangeListener</B></A></B>
+
+<BR>
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> state change listener interface.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/XAResourceHolder.html#bitronix.tm.resource.common"><B>XAResourceHolder</B></A></B>
+
+<BR>
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> wrappers must implement this interface.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/XAResourceProducer.html#bitronix.tm.resource.common"><B>XAResourceProducer</B></A></B>
+
+<BR>
+ A <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> is a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> factory.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/XAStatefulHolder.html#bitronix.tm.resource.common"><B>XAStatefulHolder</B></A></B>
+
+<BR>
+ Any pooled connection class must implement the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> interface.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.ehcache"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A> used by <A HREF="../../../../bitronix/tm/resource/ehcache/package-summary.html">bitronix.tm.resource.ehcache</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/AbstractXAResourceHolder.html#bitronix.tm.resource.ehcache"><B>AbstractXAResourceHolder</B></A></B>
+
+<BR>
+ Implementation of all services required by a <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/AbstractXAStatefulHolder.html#bitronix.tm.resource.ehcache"><B>AbstractXAStatefulHolder</B></A></B>
+
+<BR>
+ Implementation of all services required by a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/ResourceBean.html#bitronix.tm.resource.ehcache"><B>ResourceBean</B></A></B>
+
+<BR>
+ Abstract javabean container for all common properties of a <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> as configured in the
+ resources configuration file.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/XAResourceHolder.html#bitronix.tm.resource.ehcache"><B>XAResourceHolder</B></A></B>
+
+<BR>
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> wrappers must implement this interface.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/XAResourceProducer.html#bitronix.tm.resource.ehcache"><B>XAResourceProducer</B></A></B>
+
+<BR>
+ A <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> is a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> factory.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/XAStatefulHolder.html#bitronix.tm.resource.ehcache"><B>XAStatefulHolder</B></A></B>
+
+<BR>
+ Any pooled connection class must implement the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> interface.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jdbc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A> used by <A HREF="../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/AbstractXAResourceHolder.html#bitronix.tm.resource.jdbc"><B>AbstractXAResourceHolder</B></A></B>
+
+<BR>
+ Implementation of all services required by a <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/AbstractXAStatefulHolder.html#bitronix.tm.resource.jdbc"><B>AbstractXAStatefulHolder</B></A></B>
+
+<BR>
+ Implementation of all services required by a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/RecoveryXAResourceHolder.html#bitronix.tm.resource.jdbc"><B>RecoveryXAResourceHolder</B></A></B>
+
+<BR>
+ <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> created by an <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> that is
+ used to perform recovery.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/ResourceBean.html#bitronix.tm.resource.jdbc"><B>ResourceBean</B></A></B>
+
+<BR>
+ Abstract javabean container for all common properties of a <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> as configured in the
+ resources configuration file.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/StateChangeListener.html#bitronix.tm.resource.jdbc"><B>StateChangeListener</B></A></B>
+
+<BR>
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> state change listener interface.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/XAResourceHolder.html#bitronix.tm.resource.jdbc"><B>XAResourceHolder</B></A></B>
+
+<BR>
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> wrappers must implement this interface.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/XAResourceProducer.html#bitronix.tm.resource.jdbc"><B>XAResourceProducer</B></A></B>
+
+<BR>
+ A <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> is a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> factory.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/XAStatefulHolder.html#bitronix.tm.resource.jdbc"><B>XAStatefulHolder</B></A></B>
+
+<BR>
+ Any pooled connection class must implement the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> interface.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jms"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A> used by <A HREF="../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/AbstractXAResourceHolder.html#bitronix.tm.resource.jms"><B>AbstractXAResourceHolder</B></A></B>
+
+<BR>
+ Implementation of all services required by a <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/AbstractXAStatefulHolder.html#bitronix.tm.resource.jms"><B>AbstractXAStatefulHolder</B></A></B>
+
+<BR>
+ Implementation of all services required by a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/RecoveryXAResourceHolder.html#bitronix.tm.resource.jms"><B>RecoveryXAResourceHolder</B></A></B>
+
+<BR>
+ <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> created by an <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> that is
+ used to perform recovery.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/ResourceBean.html#bitronix.tm.resource.jms"><B>ResourceBean</B></A></B>
+
+<BR>
+ Abstract javabean container for all common properties of a <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> as configured in the
+ resources configuration file.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/StateChangeListener.html#bitronix.tm.resource.jms"><B>StateChangeListener</B></A></B>
+
+<BR>
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> state change listener interface.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/XAResourceHolder.html#bitronix.tm.resource.jms"><B>XAResourceHolder</B></A></B>
+
+<BR>
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> wrappers must implement this interface.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/XAResourceProducer.html#bitronix.tm.resource.jms"><B>XAResourceProducer</B></A></B>
+
+<BR>
+ A <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> is a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> factory.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/XAStatefulHolder.html#bitronix.tm.resource.jms"><B>XAStatefulHolder</B></A></B>
+
+<BR>
+ Any pooled connection class must implement the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> interface.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.timer"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A> used by <A HREF="../../../../bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/common/class-use/XAPool.html#bitronix.tm.timer"><B>XAPool</B></A></B>
+
+<BR>
+ Generic XA pool.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/common/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html b/doc/api/bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html
new file mode 100644
index 0000000..e398e46
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html
@@ -0,0 +1,446 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+EhCacheXAResourceHolder (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="EhCacheXAResourceHolder (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/EhCacheXAResourceHolder.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html" title="class in bitronix.tm.resource.ehcache"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="EhCacheXAResourceHolder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.ehcache</FONT>
+<BR>
+Class EhCacheXAResourceHolder</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">bitronix.tm.resource.common.AbstractXAStatefulHolder</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">bitronix.tm.resource.common.AbstractXAResourceHolder</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.ehcache.EhCacheXAResourceHolder</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>EhCacheXAResourceHolder</B><DT>extends <A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A></DL>
+</PRE>
+
+<P>
+EHCache implementation of BTM's XAResourceHolder.
+ <p>
+ Copyright 2003-2010 Terracotta, Inc.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_bitronix.tm.resource.common.XAStatefulHolder"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_ACCESSIBLE">STATE_ACCESSIBLE</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_CLOSED">STATE_CLOSED</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_IN_POOL">STATE_IN_POOL</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_NOT_ACCESSIBLE">STATE_NOT_ACCESSIBLE</A></CODE></TD>
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html#EhCacheXAResourceHolder(javax.transaction.xa.XAResource, bitronix.tm.resource.common.ResourceBean)">EhCacheXAResourceHolder</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> resource,
+ <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)</CODE>
+
+<BR>
+ Create a new EhCacheXAResourceHolder for a particular XAResource</TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html#close()">close</A></B>()</CODE>
+
+<BR>
+ Close the physical connection that this <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> represents.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html#getConnectionHandle()">getConnectionHandle</A></B>()</CODE>
+
+<BR>
+ Create a disposable handler used to drive a pooled instance of
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html#getLastReleaseDate()">getLastReleaseDate</A></B>()</CODE>
+
+<BR>
+ Get the date at which this object was last released to the pool.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html#getResourceBean()">getResourceBean</A></B>()</CODE>
+
+<BR>
+ Get the ResourceBean which created this XAResourceHolder.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html#getXAResource()">getXAResource</A></B>()</CODE>
+
+<BR>
+ Get the vendor's <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> implementation of the wrapped resource.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html#getXAResourceHolders()">getXAResourceHolders</A></B>()</CODE>
+
+<BR>
+ Get the list of <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that are still open.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.common.AbstractXAResourceHolder"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html#getXAResourceHolderStateGtrids()">getXAResourceHolderStateGtrids</A>, <A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html#getXAResourceHolderStatesForGtrid(bitronix.tm.utils.Uid)">getXAResourceHolderStatesForGtrid</A>, <A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html#hasStateForXAResource(bitronix.tm.resource.common.XAResourceHolder)">hasStateF [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.common.AbstractXAStatefulHolder"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">AbstractXAStatefulHolder</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html#addStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">addStateChangeEventListener</A>, <A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html#getState()">getState</A>, <A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html#removeStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">removeStateChangeEventListe [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.common.XAStatefulHolder"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from interface bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#addStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">addStateChangeEventListener</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getState()">getState</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#removeStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">removeStateChangeEventListener</A>, <A HREF="../../ [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="EhCacheXAResourceHolder(javax.transaction.xa.XAResource, bitronix.tm.resource.common.ResourceBean)"><!-- --></A><H3>
+EhCacheXAResourceHolder</H3>
+<PRE>
+public <B>EhCacheXAResourceHolder</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> resource,
+ <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)</PRE>
+<DL>
+<DD>Create a new EhCacheXAResourceHolder for a particular XAResource
+<P>
+<DL>
+<DT><B>Parameters:</B><DD><CODE>resource</CODE> - the required XAResource<DD><CODE>bean</CODE> - the required ResourceBean</DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getXAResource()"><!-- --></A><H3>
+getXAResource</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> <B>getXAResource</B>()</PRE>
+<DL>
+<DD>Get the vendor's <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> implementation of the wrapped resource.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the vendor's XAResource implementation.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getResourceBean()"><!-- --></A><H3>
+getResourceBean</H3>
+<PRE>
+public <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> <B>getResourceBean</B>()</PRE>
+<DL>
+<DD>Get the ResourceBean which created this XAResourceHolder.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the ResourceBean which created this XAResourceHolder.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public void <B>close</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD>Close the physical connection that this <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> represents.
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - a resource-specific exception thrown when there is an error closing the physical connection.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getConnectionHandle()"><!-- --></A><H3>
+getConnectionHandle</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getConnectionHandle</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD>Create a disposable handler used to drive a pooled instance of
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>.
+ <p>This method is thread-safe.</p>
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a resource-specific disaposable connection object.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - a resource-specific exception thrown when the disaposable connection cannot be created.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLastReleaseDate()"><!-- --></A><H3>
+getLastReleaseDate</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> <B>getLastReleaseDate</B>()</PRE>
+<DL>
+<DD>Get the date at which this object was last released to the pool. This is required to check if it is eligible
+ for discard when the containing pool needs to shrink.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the date at which this object was last released to the pool or null if it never left the pool.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXAResourceHolders()"><!-- --></A><H3>
+getXAResourceHolders</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>getXAResourceHolders</B>()</PRE>
+<DL>
+<DD>Get the list of <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that are still open.
+ <p>This method is thread-safe.</p>
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the list of <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that are still open.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/EhCacheXAResourceHolder.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html" title="class in bitronix.tm.resource.ehcache"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="EhCacheXAResourceHolder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html b/doc/api/bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html
new file mode 100644
index 0000000..9ccb676
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html
@@ -0,0 +1,499 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+EhCacheXAResourceProducer (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="EhCacheXAResourceProducer (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/EhCacheXAResourceProducer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html" title="class in bitronix.tm.resource.ehcache"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="EhCacheXAResourceProducer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.ehcache</FONT>
+<BR>
+Class EhCacheXAResourceProducer</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">bitronix.tm.resource.common.ResourceBean</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.ehcache.EhCacheXAResourceProducer</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Referenceable.html?is-external=true" title="class or interface in javax.naming">Referenceab [...]
+</DL>
+<HR>
+<DL>
+<DT><PRE>public final class <B>EhCacheXAResourceProducer</B><DT>extends <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A><DT>implements <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></DL>
+</PRE>
+
+<P>
+EHCache implementation of BTM's XAResourceProducer.
+ <p>
+ Copyright 2003-2010 Terracotta, Inc.
+ </p>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#bitronix.tm.resource.ehcache.EhCacheXAResourceProducer">Serialized Form</A></DL>
+<HR>
+
+<P>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html#close()">close</A></B>()</CODE>
+
+<BR>
+ Release this <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>'s internal resources.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html#createPooledConnection(java.lang.Object, bitronix.tm.resource.common.ResourceBean)">createPooledConnection</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> xaFactory,
+ <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)</CODE>
+
+<BR>
+ Create a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that will be placed in an <A HREF="../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common"><CODE>XAPool</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html#endRecovery()">endRecovery</A></B>()</CODE>
+
+<BR>
+ Release internal resources held after call to <code>startRecovery()</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html#findXAResourceHolder(javax.transaction.xa.XAResource)">findXAResourceHolder</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)</CODE>
+
+<BR>
+ Find in the <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> the one which this
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> belongs to.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Reference.html?is-external=true" title="class or interface in javax.naming">Reference</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html#getReference()">getReference</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html#init()">init</A></B>()</CODE>
+
+<BR>
+ Initialize this <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>'s internal resources.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html#registerXAResource(java.lang.String, javax.transaction.xa.XAResource)">registerXAResource</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> uniqueName,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)</CODE>
+
+<BR>
+ Register an XAResource of a cache with BTM.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html#setFailed(boolean)">setFailed</A></B>(boolean failed)</CODE>
+
+<BR>
+ Mark this resource producer as failed or not.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html#startRecovery()">startRecovery</A></B>()</CODE>
+
+<BR>
+ Prepare the recoverable <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> producer for recovery.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html#unregisterXAResource(java.lang.String, javax.transaction.xa.XAResource)">unregisterXAResource</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> uniqueName,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)</CODE>
+
+<BR>
+ Unregister an XAResource of a cache from BTM.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.common.ResourceBean"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#getAcquireIncrement()">getAcquireIncrement</A>, <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#getAcquisitionInterval()">getAcquisitionInterval</A>, <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#getAcquisitionTimeout()">getAcquisitionTimeout</A>, <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#getAllowLocalTransactions()">getAllowLocalTransactions</A>, [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.common.XAResourceProducer"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from interface bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#getUniqueName()">getUniqueName</A></CODE></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="registerXAResource(java.lang.String, javax.transaction.xa.XAResource)"><!-- --></A><H3>
+registerXAResource</H3>
+<PRE>
+public static void <B>registerXAResource</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> uniqueName,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)</PRE>
+<DL>
+<DD>Register an XAResource of a cache with BTM. The first time a XAResource is registered a new
+ EhCacheXAResourceProducer is created to hold it.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>uniqueName</CODE> - the uniqueName of this XAResourceProducer, usually the cache's name<DD><CODE>xaResource</CODE> - the XAResource to be registered</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="unregisterXAResource(java.lang.String, javax.transaction.xa.XAResource)"><!-- --></A><H3>
+unregisterXAResource</H3>
+<PRE>
+public static void <B>unregisterXAResource</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> uniqueName,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)</PRE>
+<DL>
+<DD>Unregister an XAResource of a cache from BTM.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>uniqueName</CODE> - the uniqueName of this XAResourceProducer, usually the cache's name<DD><CODE>xaResource</CODE> - the XAResource to be registered</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="startRecovery()"><!-- --></A><H3>
+startRecovery</H3>
+<PRE>
+public <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> <B>startRecovery</B>()
+ throws <A HREF="../../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A></PRE>
+<DL>
+<DD>Prepare the recoverable <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> producer for recovery.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#startRecovery()">startRecovery</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A> object that can be used to call <code>recover()</code>.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A></CODE> - thrown when a <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A> cannot be acquired.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="endRecovery()"><!-- --></A><H3>
+endRecovery</H3>
+<PRE>
+public void <B>endRecovery</B>()
+ throws <A HREF="../../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A></PRE>
+<DL>
+<DD>Release internal resources held after call to <code>startRecovery()</code>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#endRecovery()">endRecovery</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A></CODE> - thrown when an error occured while releasing reserved resources.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setFailed(boolean)"><!-- --></A><H3>
+setFailed</H3>
+<PRE>
+public void <B>setFailed</B>(boolean failed)</PRE>
+<DL>
+<DD>Mark this resource producer as failed or not. A resource is considered failed if recovery fails to run on it.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#setFailed(boolean)">setFailed</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>failed</CODE> - true is the resource must be considered failed, false it it must be considered sane.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="findXAResourceHolder(javax.transaction.xa.XAResource)"><!-- --></A><H3>
+findXAResourceHolder</H3>
+<PRE>
+public <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> <B>findXAResourceHolder</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)</PRE>
+<DL>
+<DD>Find in the <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> the one which this
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> belongs to.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#findXAResourceHolder(javax.transaction.xa.XAResource)">findXAResourceHolder</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xaResource</CODE> - the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> to look for.
+<DT><B>Returns:</B><DD>the associated <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> or null if the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> does not belong to this
+ <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="init()"><!-- --></A><H3>
+init</H3>
+<PRE>
+public void <B>init</B>()</PRE>
+<DL>
+<DD>Initialize this <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>'s internal resources.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#init()">init</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public void <B>close</B>()</PRE>
+<DL>
+<DD>Release this <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>'s internal resources.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#close()">close</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createPooledConnection(java.lang.Object, bitronix.tm.resource.common.ResourceBean)"><!-- --></A><H3>
+createPooledConnection</H3>
+<PRE>
+public <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> <B>createPooledConnection</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> xaFactory,
+ <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD>Create a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that will be placed in an <A HREF="../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common"><CODE>XAPool</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#createPooledConnection(java.lang.Object, bitronix.tm.resource.common.ResourceBean)">createPooledConnection</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xaFactory</CODE> - the vendor's resource-specific XA factory.<DD><CODE>bean</CODE> - the resource-specific bean describing the resource parameters.
+<DT><B>Returns:</B><DD>a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that will be placed in an <A HREF="../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common"><CODE>XAPool</CODE></A>.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - thrown when the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> cannot be created.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getReference()"><!-- --></A><H3>
+getReference</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Reference.html?is-external=true" title="class or interface in javax.naming">Reference</A> <B>getReference</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Referenceable.html?is-external=true#getReference()" title="class or interface in javax.naming">getReference</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Referenceable.html?is-external=true" title="class or interface in javax.naming">Referenceable</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/EhCacheXAResourceProducer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html" title="class in bitronix.tm.resource.ehcache"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="EhCacheXAResourceProducer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/ehcache/class-use/EhCacheXAResourceHolder.html b/doc/api/bitronix/tm/resource/ehcache/class-use/EhCacheXAResourceHolder.html
new file mode 100644
index 0000000..dbcdea2
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/ehcache/class-use/EhCacheXAResourceHolder.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.ehcache.EhCacheXAResourceHolder (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.ehcache.EhCacheXAResourceHolder (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html" title="class in bitronix.tm.resource.ehcache"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/ehcache//class-useEhCacheXAResourceHolder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="EhCacheXAResourceHolder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.ehcache.EhCacheXAResourceHolder</B></H2>
+</CENTER>
+No usage of bitronix.tm.resource.ehcache.EhCacheXAResourceHolder
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html" title="class in bitronix.tm.resource.ehcache"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/ehcache//class-useEhCacheXAResourceHolder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="EhCacheXAResourceHolder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/ehcache/class-use/EhCacheXAResourceProducer.html b/doc/api/bitronix/tm/resource/ehcache/class-use/EhCacheXAResourceProducer.html
new file mode 100644
index 0000000..d01ac72
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/ehcache/class-use/EhCacheXAResourceProducer.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.ehcache.EhCacheXAResourceProducer (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.ehcache.EhCacheXAResourceProducer (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html" title="class in bitronix.tm.resource.ehcache"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/ehcache//class-useEhCacheXAResourceProducer.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="EhCacheXAResourceProducer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.ehcache.EhCacheXAResourceProducer</B></H2>
+</CENTER>
+No usage of bitronix.tm.resource.ehcache.EhCacheXAResourceProducer
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html" title="class in bitronix.tm.resource.ehcache"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/ehcache//class-useEhCacheXAResourceProducer.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="EhCacheXAResourceProducer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/ehcache/package-frame.html b/doc/api/bitronix/tm/resource/ehcache/package-frame.html
new file mode 100644
index 0000000..acca25f
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/ehcache/package-frame.html
@@ -0,0 +1,35 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.resource.ehcache (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../../bitronix/tm/resource/ehcache/package-summary.html" target="classFrame">bitronix.tm.resource.ehcache</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="EhCacheXAResourceHolder.html" title="class in bitronix.tm.resource.ehcache" target="classFrame">EhCacheXAResourceHolder</A>
+<BR>
+<A HREF="EhCacheXAResourceProducer.html" title="class in bitronix.tm.resource.ehcache" target="classFrame">EhCacheXAResourceProducer</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/ehcache/package-summary.html b/doc/api/bitronix/tm/resource/ehcache/package-summary.html
new file mode 100644
index 0000000..bf3f6bc
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/ehcache/package-summary.html
@@ -0,0 +1,180 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.resource.ehcache (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.resource.ehcache (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/common/package-summary.html"><B>PREV PACKAGE</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/ehcache/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package bitronix.tm.resource.ehcache
+</H2>
+
+ Ehcache specific resource management code.
+<P>
+<B>See:</B>
+<BR>
+ <A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html" title="class in bitronix.tm.resource.ehcache">EhCacheXAResourceHolder</A></B></TD>
+<TD>EHCache implementation of BTM's XAResourceHolder.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html" title="class in bitronix.tm.resource.ehcache">EhCacheXAResourceProducer</A></B></TD>
+<TD>EHCache implementation of BTM's XAResourceProducer.</TD>
+</TR>
+</TABLE>
+
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package bitronix.tm.resource.ehcache Description
+</H2>
+
+<P>
+<p>
+ Ehcache specific resource management code.
+ </p>
+<P>
+
+<P>
+<DL>
+</DL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/common/package-summary.html"><B>PREV PACKAGE</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/ehcache/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/ehcache/package-tree.html b/doc/api/bitronix/tm/resource/ehcache/package-tree.html
new file mode 100644
index 0000000..c73eb75
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/ehcache/package-tree.html
@@ -0,0 +1,164 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.resource.ehcache Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.resource.ehcache Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/common/package-tree.html"><B>PREV</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/ehcache/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package bitronix.tm.resource.ehcache
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common"><B>AbstractXAStatefulHolder</B></A> (implements bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A>)
+<UL>
+<LI TYPE="circle">bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common"><B>AbstractXAResourceHolder</B></A> (implements bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A>)
+<UL>
+<LI TYPE="circle">bitronix.tm.resource.ehcache.<A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html" title="class in bitronix.tm.resource.ehcache"><B>EhCacheXAResourceHolder</B></A></UL>
+</UL>
+<LI TYPE="circle">bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common"><B>ResourceBean</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>)
+<UL>
+<LI TYPE="circle">bitronix.tm.resource.ehcache.<A HREF="../../../../bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html" title="class in bitronix.tm.resource.ehcache"><B>EhCacheXAResourceProducer</B></A> (implements bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A>)
+</UL>
+</UL>
+</UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/common/package-tree.html"><B>PREV</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/ehcache/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/ehcache/package-use.html b/doc/api/bitronix/tm/resource/ehcache/package-use.html
new file mode 100644
index 0000000..0c0e830
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/ehcache/package-use.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Package bitronix.tm.resource.ehcache (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Package bitronix.tm.resource.ehcache (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/ehcache/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>bitronix.tm.resource.ehcache</B></H2>
+</CENTER>
+No usage of bitronix.tm.resource.ehcache
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/ehcache/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html b/doc/api/bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html
new file mode 100644
index 0000000..19a0439
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html
@@ -0,0 +1,313 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+BaseProxyHandlerClass (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="BaseProxyHandlerClass (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BaseProxyHandlerClass.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../../bitronix/tm/resource/jdbc/ConnectionCustomizer.html" title="interface in bitronix.tm.resource.jdbc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BaseProxyHandlerClass.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jdbc</FONT>
+<BR>
+Class BaseProxyHandlerClass</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.jdbc.BaseProxyHandlerClass</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/InvocationHandler.html?is-external=true" title="class or interface in java.lang.reflect">InvocationHandler</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcCallableStatementHandle</A>, <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A>, <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle< [...]
+</DL>
+<HR>
+<DL>
+<DT><PRE>public abstract class <B>BaseProxyHandlerClass</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/InvocationHandler.html?is-external=true" title="class or interface in java.lang.reflect">InvocationHandler</A></DL>
+</PRE>
+
+<P>
+Base class for Proxy InvocationHandlers. Maintains a method cache
+ for swift delegation to either the overridden methods (implemented
+ in a sub-class of this class) or the underlying delegate class'
+ methods. Makes proxying an interface almost completely painless.
+ <p/>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>brettw</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html#BaseProxyHandlerClass()">BaseProxyHandlerClass</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html#getProxiedDelegate()">getProxiedDelegate</A></B>()</CODE>
+
+<BR>
+ Must be implemented by the sub-class of this class.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html#invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])">invoke</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> proxy,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</A> method,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[] args)</CODE>
+
+<BR>
+ Implementation of the InvocationHandler interface.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="BaseProxyHandlerClass()"><!-- --></A><H3>
+BaseProxyHandlerClass</H3>
+<PRE>
+public <B>BaseProxyHandlerClass</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])"><!-- --></A><H3>
+invoke</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>invoke</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> proxy,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</A> method,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>[] args)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></PRE>
+<DL>
+<DD>Implementation of the InvocationHandler interface.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/InvocationHandler.html?is-external=true#invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])" title="class or interface in java.lang.reflect">invoke</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/InvocationHandler.html?is-external=true" title="class or interface in java.lang.reflect">InvocationHandler</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></CODE><DT><B>See Also:</B><DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/InvocationHandler.html?is-external=true" title="class or interface in java.lang.reflect"><CODE>InvocationHandler</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getProxiedDelegate()"><!-- --></A><H3>
+getProxiedDelegate</H3>
+<PRE>
+public abstract <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getProxiedDelegate</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD>Must be implemented by the sub-class of this class. This method
+ should return the "true" object to be delegated to in the case
+ that the method is not overridden by the sub-class.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the true delegate object
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - can throw any exception if desired</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BaseProxyHandlerClass.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../../bitronix/tm/resource/jdbc/ConnectionCustomizer.html" title="interface in bitronix.tm.resource.jdbc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BaseProxyHandlerClass.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/ConnectionCustomizer.html b/doc/api/bitronix/tm/resource/jdbc/ConnectionCustomizer.html
new file mode 100644
index 0000000..e816069
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/ConnectionCustomizer.html
@@ -0,0 +1,243 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+ConnectionCustomizer (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="ConnectionCustomizer (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ConnectionCustomizer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html" title="class in bitronix.tm.resource.jdbc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/ConnectionCustomizer.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ConnectionCustomizer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jdbc</FONT>
+<BR>
+Interface ConnectionCustomizer</H2>
+<HR>
+<DL>
+<DT><PRE>public interface <B>ConnectionCustomizer</B></DL>
+</PRE>
+
+<P>
+Listener of connections created by a PoolingDataSource. Implementations of this class must be serializable
+ and are handed raw, physical database Connections
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>Ludovic Orban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/ConnectionCustomizer.html#onAcquire(java.sql.Connection, java.lang.String)">onAcquire</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A> connection,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> uniqueName)</CODE>
+
+<BR>
+ Called when the physical connection is created.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/ConnectionCustomizer.html#onDestroy(java.sql.Connection, java.lang.String)">onDestroy</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A> connection,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> uniqueName)</CODE>
+
+<BR>
+ Called when the physical connection is destroyed.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="onAcquire(java.sql.Connection, java.lang.String)"><!-- --></A><H3>
+onAcquire</H3>
+<PRE>
+void <B>onAcquire</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A> connection,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> uniqueName)</PRE>
+<DL>
+<DD>Called when the physical connection is created.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>connection</CODE> - the physical connection.<DD><CODE>uniqueName</CODE> - the PoolingDataSource unique name.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="onDestroy(java.sql.Connection, java.lang.String)"><!-- --></A><H3>
+onDestroy</H3>
+<PRE>
+void <B>onDestroy</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A> connection,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> uniqueName)</PRE>
+<DL>
+<DD>Called when the physical connection is destroyed.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>connection</CODE> - the physical connection.<DD><CODE>uniqueName</CODE> - the PoolingDataSource unique name.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ConnectionCustomizer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html" title="class in bitronix.tm.resource.jdbc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/ConnectionCustomizer.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ConnectionCustomizer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html b/doc/api/bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html
new file mode 100644
index 0000000..4721749
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html
@@ -0,0 +1,361 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+JdbcCallableStatementHandle (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="JdbcCallableStatementHandle (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/JdbcCallableStatementHandle.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jdbc/ConnectionCustomizer.html" title="interface in bitronix.tm.resource.jdbc"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JdbcCallableStatementHandle.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jdbc</FONT>
+<BR>
+Class JdbcCallableStatementHandle</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">bitronix.tm.resource.jdbc.BaseProxyHandlerClass</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.jdbc.JdbcCallableStatementHandle</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/InvocationHandler.html?is-external=true" title="class or interface in java.lang.reflect">InvocationHandler</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>JdbcCallableStatementHandle</B><DT>extends <A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">BaseProxyHandlerClass</A></DL>
+</PRE>
+
+<P>
+CallableStatement <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html?is-external=true" title="class or interface in java.sql"><CODE>Statement</CODE></A> wrapper.
+ <p/>
+ This class is a proxy handler for a CallableStatement. It does not
+ implement the CallableStatement interface or extend a class directly,
+ but you methods implemented here will override those of the
+ underlying delegate. Simply implement a method with the same
+ signature, and the local method will be called rather than the delegate.
+ <p/>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>brettw</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html#JdbcCallableStatementHandle(java.sql.CallableStatement, bitronix.tm.resource.jdbc.JdbcPooledConnection)">JdbcCallableStatementHandle</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/CallableStatement.html?is-external=true" title="class or interface in java.sql">CallableStatement</A> delegate,
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A> pooledConnection)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html#close()">close</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html#getProxiedDelegate()">getProxiedDelegate</A></B>()</CODE>
+
+<BR>
+ Must be implemented by the sub-class of this class.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html#isWrapperFor(java.lang.Class)">isWrapperFor</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> iface)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html#unwrap(java.lang.Class)">unwrap</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> iface)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.jdbc.BaseProxyHandlerClass"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class bitronix.tm.resource.jdbc.<A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">BaseProxyHandlerClass</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html#invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])">invoke</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="JdbcCallableStatementHandle(java.sql.CallableStatement, bitronix.tm.resource.jdbc.JdbcPooledConnection)"><!-- --></A><H3>
+JdbcCallableStatementHandle</H3>
+<PRE>
+public <B>JdbcCallableStatementHandle</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/CallableStatement.html?is-external=true" title="class or interface in java.sql">CallableStatement</A> delegate,
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A> pooledConnection)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getProxiedDelegate()"><!-- --></A><H3>
+getProxiedDelegate</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getProxiedDelegate</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><B>Description copied from class: <CODE><A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html#getProxiedDelegate()">BaseProxyHandlerClass</A></CODE></B></DD>
+<DD>Must be implemented by the sub-class of this class. This method
+ should return the "true" object to be delegated to in the case
+ that the method is not overridden by the sub-class.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html#getProxiedDelegate()">getProxiedDelegate</A></CODE> in class <CODE><A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">BaseProxyHandlerClass</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the true delegate object
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - can throw any exception if desired</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isWrapperFor(java.lang.Class)"><!-- --></A><H3>
+isWrapperFor</H3>
+<PRE>
+public boolean <B>isWrapperFor</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> iface)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="unwrap(java.lang.Class)"><!-- --></A><H3>
+unwrap</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>unwrap</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> iface)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public void <B>close</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/JdbcCallableStatementHandle.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jdbc/ConnectionCustomizer.html" title="interface in bitronix.tm.resource.jdbc"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JdbcCallableStatementHandle.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/JdbcConnectionHandle.html b/doc/api/bitronix/tm/resource/jdbc/JdbcConnectionHandle.html
new file mode 100644
index 0000000..8d80051
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/JdbcConnectionHandle.html
@@ -0,0 +1,908 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+JdbcConnectionHandle (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="JdbcConnectionHandle (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/JdbcConnectionHandle.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html" title="class in bitronix.tm.resource.jdbc"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JdbcConnectionHandle.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jdbc</FONT>
+<BR>
+Class JdbcConnectionHandle</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">bitronix.tm.resource.jdbc.BaseProxyHandlerClass</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.jdbc.JdbcConnectionHandle</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/InvocationHandler.html?is-external=true" title="class or interface in java.lang.reflect">InvocationHandler</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>JdbcConnectionHandle</B><DT>extends <A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">BaseProxyHandlerClass</A></DL>
+</PRE>
+
+<P>
+Disposable Connection handle.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban, brettw</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#JdbcConnectionHandle(bitronix.tm.resource.jdbc.JdbcPooledConnection, java.sql.Connection)">JdbcConnectionHandle</A></B>(<A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A> jdbcPooledConnection,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A> connection)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#close()">close</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#commit()">commit</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html?is-external=true" title="class or interface in java.sql">Statement</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#createStatement()">createStatement</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html?is-external=true" title="class or interface in java.sql">Statement</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#createStatement(int, int)">createStatement</A></B>(int resultSetType,
+ int resultSetConcurrency)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html?is-external=true" title="class or interface in java.sql">Statement</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#createStatement(int, int, int)">createStatement</A></B>(int resultSetType,
+ int resultSetConcurrency,
+ int resultSetHoldability)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#getAutoCommit()">getAutoCommit</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#getConnection()">getConnection</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#getPooledConnection()">getPooledConnection</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#getProxiedDelegate()">getProxiedDelegate</A></B>()</CODE>
+
+<BR>
+ Must be implemented by the sub-class of this class.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#isClosed()">isClosed</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#isWrapperFor(java.lang.Class)">isWrapperFor</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> iface)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/CallableStatement.html?is-external=true" title="class or interface in java.sql">CallableStatement</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#prepareCall(java.lang.String)">prepareCall</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> sql)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/CallableStatement.html?is-external=true" title="class or interface in java.sql">CallableStatement</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#prepareCall(java.lang.String, int, int)">prepareCall</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> sql,
+ int resultSetType,
+ int resultSetConcurrency)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/CallableStatement.html?is-external=true" title="class or interface in java.sql">CallableStatement</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#prepareCall(java.lang.String, int, int, int)">prepareCall</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> sql,
+ int resultSetType,
+ int resultSetConcurrency,
+ int resultSetHoldability)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#prepareStatement(java.lang.String)">prepareStatement</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> sql)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#prepareStatement(java.lang.String, int)">prepareStatement</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> sql,
+ int autoGeneratedKeys)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#prepareStatement(java.lang.String, int[])">prepareStatement</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> sql,
+ int[] columnIndexes)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#prepareStatement(java.lang.String, int, int)">prepareStatement</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> sql,
+ int resultSetType,
+ int resultSetConcurrency)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#prepareStatement(java.lang.String, int, int, int)">prepareStatement</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> sql,
+ int resultSetType,
+ int resultSetConcurrency,
+ int resultSetHoldability)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#prepareStatement(java.lang.String, java.lang.String[])">prepareStatement</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> sql,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[] columnNames)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#releaseSavepoint(java.sql.Savepoint)">releaseSavepoint</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Savepoint.html?is-external=true" title="class or interface in java.sql">Savepoint</A> savepoint)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#rollback()">rollback</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#rollback(java.sql.Savepoint)">rollback</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Savepoint.html?is-external=true" title="class or interface in java.sql">Savepoint</A> savepoint)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#setAutoCommit(boolean)">setAutoCommit</A></B>(boolean autoCommit)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Savepoint.html?is-external=true" title="class or interface in java.sql">Savepoint</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#setSavepoint()">setSavepoint</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Savepoint.html?is-external=true" title="class or interface in java.sql">Savepoint</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#setSavepoint(java.lang.String)">setSavepoint</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#unwrap(java.lang.Class)">unwrap</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> iface)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.jdbc.BaseProxyHandlerClass"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class bitronix.tm.resource.jdbc.<A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">BaseProxyHandlerClass</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html#invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])">invoke</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="JdbcConnectionHandle(bitronix.tm.resource.jdbc.JdbcPooledConnection, java.sql.Connection)"><!-- --></A><H3>
+JdbcConnectionHandle</H3>
+<PRE>
+public <B>JdbcConnectionHandle</B>(<A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A> jdbcPooledConnection,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A> connection)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getPooledConnection()"><!-- --></A><H3>
+getPooledConnection</H3>
+<PRE>
+public <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A> <B>getPooledConnection</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getConnection()"><!-- --></A><H3>
+getConnection</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A> <B>getConnection</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public void <B>close</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="commit()"><!-- --></A><H3>
+commit</H3>
+<PRE>
+public void <B>commit</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="rollback()"><!-- --></A><H3>
+rollback</H3>
+<PRE>
+public void <B>rollback</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="rollback(java.sql.Savepoint)"><!-- --></A><H3>
+rollback</H3>
+<PRE>
+public void <B>rollback</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Savepoint.html?is-external=true" title="class or interface in java.sql">Savepoint</A> savepoint)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setSavepoint()"><!-- --></A><H3>
+setSavepoint</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Savepoint.html?is-external=true" title="class or interface in java.sql">Savepoint</A> <B>setSavepoint</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setSavepoint(java.lang.String)"><!-- --></A><H3>
+setSavepoint</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Savepoint.html?is-external=true" title="class or interface in java.sql">Savepoint</A> <B>setSavepoint</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> name)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="releaseSavepoint(java.sql.Savepoint)"><!-- --></A><H3>
+releaseSavepoint</H3>
+<PRE>
+public void <B>releaseSavepoint</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Savepoint.html?is-external=true" title="class or interface in java.sql">Savepoint</A> savepoint)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAutoCommit()"><!-- --></A><H3>
+getAutoCommit</H3>
+<PRE>
+public boolean <B>getAutoCommit</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAutoCommit(boolean)"><!-- --></A><H3>
+setAutoCommit</H3>
+<PRE>
+public void <B>setAutoCommit</B>(boolean autoCommit)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isClosed()"><!-- --></A><H3>
+isClosed</H3>
+<PRE>
+public boolean <B>isClosed</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createStatement()"><!-- --></A><H3>
+createStatement</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html?is-external=true" title="class or interface in java.sql">Statement</A> <B>createStatement</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createStatement(int, int)"><!-- --></A><H3>
+createStatement</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html?is-external=true" title="class or interface in java.sql">Statement</A> <B>createStatement</B>(int resultSetType,
+ int resultSetConcurrency)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createStatement(int, int, int)"><!-- --></A><H3>
+createStatement</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html?is-external=true" title="class or interface in java.sql">Statement</A> <B>createStatement</B>(int resultSetType,
+ int resultSetConcurrency,
+ int resultSetHoldability)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="prepareCall(java.lang.String)"><!-- --></A><H3>
+prepareCall</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/CallableStatement.html?is-external=true" title="class or interface in java.sql">CallableStatement</A> <B>prepareCall</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> sql)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="prepareCall(java.lang.String, int, int)"><!-- --></A><H3>
+prepareCall</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/CallableStatement.html?is-external=true" title="class or interface in java.sql">CallableStatement</A> <B>prepareCall</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> sql,
+ int resultSetType,
+ int resultSetConcurrency)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="prepareCall(java.lang.String, int, int, int)"><!-- --></A><H3>
+prepareCall</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/CallableStatement.html?is-external=true" title="class or interface in java.sql">CallableStatement</A> <B>prepareCall</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> sql,
+ int resultSetType,
+ int resultSetConcurrency,
+ int resultSetHoldability)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="prepareStatement(java.lang.String)"><!-- --></A><H3>
+prepareStatement</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</A> <B>prepareStatement</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> sql)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="prepareStatement(java.lang.String, int)"><!-- --></A><H3>
+prepareStatement</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</A> <B>prepareStatement</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> sql,
+ int autoGeneratedKeys)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="prepareStatement(java.lang.String, int, int)"><!-- --></A><H3>
+prepareStatement</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</A> <B>prepareStatement</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> sql,
+ int resultSetType,
+ int resultSetConcurrency)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="prepareStatement(java.lang.String, int, int, int)"><!-- --></A><H3>
+prepareStatement</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</A> <B>prepareStatement</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> sql,
+ int resultSetType,
+ int resultSetConcurrency,
+ int resultSetHoldability)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="prepareStatement(java.lang.String, int[])"><!-- --></A><H3>
+prepareStatement</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</A> <B>prepareStatement</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> sql,
+ int[] columnIndexes)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="prepareStatement(java.lang.String, java.lang.String[])"><!-- --></A><H3>
+prepareStatement</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</A> <B>prepareStatement</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> sql,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[] columnNames)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isWrapperFor(java.lang.Class)"><!-- --></A><H3>
+isWrapperFor</H3>
+<PRE>
+public boolean <B>isWrapperFor</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> iface)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="unwrap(java.lang.Class)"><!-- --></A><H3>
+unwrap</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>unwrap</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> iface)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getProxiedDelegate()"><!-- --></A><H3>
+getProxiedDelegate</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getProxiedDelegate</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><B>Description copied from class: <CODE><A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html#getProxiedDelegate()">BaseProxyHandlerClass</A></CODE></B></DD>
+<DD>Must be implemented by the sub-class of this class. This method
+ should return the "true" object to be delegated to in the case
+ that the method is not overridden by the sub-class.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html#getProxiedDelegate()">getProxiedDelegate</A></CODE> in class <CODE><A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">BaseProxyHandlerClass</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the true delegate object
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - can throw any exception if desired</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/JdbcConnectionHandle.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html" title="class in bitronix.tm.resource.jdbc"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JdbcConnectionHandle.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/JdbcPooledConnection.html b/doc/api/bitronix/tm/resource/jdbc/JdbcPooledConnection.html
new file mode 100644
index 0000000..7bf3b74
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/JdbcPooledConnection.html
@@ -0,0 +1,780 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+JdbcPooledConnection (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="JdbcPooledConnection (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/JdbcPooledConnection.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jdbc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/JdbcPooledConnection.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JdbcPooledConnection.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jdbc</FONT>
+<BR>
+Class JdbcPooledConnection</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">bitronix.tm.resource.common.AbstractXAStatefulHolder</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">bitronix.tm.resource.common.AbstractXAResourceHolder</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.jdbc.JdbcPooledConnection</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A>, <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A>, <A HREF="../.. [...]
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>JdbcPooledConnection</B><DT>extends <A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A><DT>implements <A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A>, <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html" title="interface in bitronix.tm.res [...]
+</PRE>
+
+<P>
+Implementation of a JDBC pooled connection wrapping vendor's <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/XAConnection.html?is-external=true" title="class or interface in javax.sql"><CODE>XAConnection</CODE></A> implementation.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban, brettw</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_bitronix.tm.resource.common.XAStatefulHolder"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_ACCESSIBLE">STATE_ACCESSIBLE</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_CLOSED">STATE_CLOSED</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_IN_POOL">STATE_IN_POOL</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_NOT_ACCESSIBLE">STATE_NOT_ACCESSIBLE</A></CODE></TD>
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html#JdbcPooledConnection(bitronix.tm.resource.jdbc.PoolingDataSource, javax.sql.XAConnection)">JdbcPooledConnection</A></B>(<A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A> poolingDataSource,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/XAConnection.html?is-external=true" title="class or interface in javax.sql">XAConnection</A> xaConnection)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html#close()">close</A></B>()</CODE>
+
+<BR>
+ Close the physical connection that this <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> represents.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common">RecoveryXAResourceHolder</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html#createRecoveryXAResourceHolder()">createRecoveryXAResourceHolder</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html#getAcquisitionDate()">getAcquisitionDate</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html#getCachedStatement(bitronix.tm.resource.jdbc.JdbcPreparedStatementHandle)">getCachedStatement</A></B>(<A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A> stmt)</CODE>
+
+<BR>
+ Get a PreparedStatement from cache.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html#getConnectionHandle()">getConnectionHandle</A></B>()</CODE>
+
+<BR>
+ Create a disposable handler used to drive a pooled instance of
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html#getLastReleaseDate()">getLastReleaseDate</A></B>()</CODE>
+
+<BR>
+ Get the date at which this object was last released to the pool.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html#getPoolingDataSource()">getPoolingDataSource</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html#getResourceBean()">getResourceBean</A></B>()</CODE>
+
+<BR>
+ Get the ResourceBean which created this XAResourceHolder.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html#getStateDescription()">getStateDescription</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html#getTransactionGtridsCurrentlyHoldingThis()">getTransactionGtridsCurrentlyHoldingThis</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html#getXAResource()">getXAResource</A></B>()</CODE>
+
+<BR>
+ Get the vendor's <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> implementation of the wrapped resource.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html#getXAResourceHolders()">getXAResourceHolders</A></B>()</CODE>
+
+<BR>
+ Get the list of <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that are still open.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html#putCachedStatement(bitronix.tm.resource.jdbc.JdbcPreparedStatementHandle)">putCachedStatement</A></B>(<A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A> stmt)</CODE>
+
+<BR>
+ Put a PreparedStatement in the cache.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html?is-external=true" title="class or interface in java.sql">Statement</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html#registerUncachedStatement(java.sql.Statement)">registerUncachedStatement</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html?is-external=true" title="class or interface in java.sql">Statement</A> stmt)</CODE>
+
+<BR>
+ Register uncached statement so that it can be closed when the connection is put back in the pool.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html#release()">release</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html#stateChanged(bitronix.tm.resource.common.XAStatefulHolder, int, int)">stateChanged</A></B>(<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> source,
+ int oldState,
+ int newState)</CODE>
+
+<BR>
+ Fired when the internal state of a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> has changed.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html#stateChanging(bitronix.tm.resource.common.XAStatefulHolder, int, int)">stateChanging</A></B>(<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> source,
+ int currentState,
+ int futureState)</CODE>
+
+<BR>
+ Fired before the internal state of a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> has changed.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html#unregisterUncachedStatement(java.sql.Statement)">unregisterUncachedStatement</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html?is-external=true" title="class or interface in java.sql">Statement</A> stmt)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.common.AbstractXAResourceHolder"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html#getXAResourceHolderStateGtrids()">getXAResourceHolderStateGtrids</A>, <A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html#getXAResourceHolderStatesForGtrid(bitronix.tm.utils.Uid)">getXAResourceHolderStatesForGtrid</A>, <A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html#hasStateForXAResource(bitronix.tm.resource.common.XAResourceHolder)">hasStateF [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.common.AbstractXAStatefulHolder"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">AbstractXAStatefulHolder</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html#addStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">addStateChangeEventListener</A>, <A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html#getState()">getState</A>, <A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html#removeStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">removeStateChangeEventListe [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.common.XAStatefulHolder"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from interface bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#addStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">addStateChangeEventListener</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getState()">getState</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#removeStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">removeStateChangeEventListener</A>, <A HREF="../../ [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="JdbcPooledConnection(bitronix.tm.resource.jdbc.PoolingDataSource, javax.sql.XAConnection)"><!-- --></A><H3>
+JdbcPooledConnection</H3>
+<PRE>
+public <B>JdbcPooledConnection</B>(<A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A> poolingDataSource,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/XAConnection.html?is-external=true" title="class or interface in javax.sql">XAConnection</A> xaConnection)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public void <B>close</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#close()">XAStatefulHolder</A></CODE></B></DD>
+<DD>Close the physical connection that this <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> represents.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#close()">close</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createRecoveryXAResourceHolder()"><!-- --></A><H3>
+createRecoveryXAResourceHolder</H3>
+<PRE>
+public <A HREF="../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common">RecoveryXAResourceHolder</A> <B>createRecoveryXAResourceHolder</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="release()"><!-- --></A><H3>
+release</H3>
+<PRE>
+protected void <B>release</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXAResource()"><!-- --></A><H3>
+getXAResource</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> <B>getXAResource</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html#getXAResource()">XAResourceHolder</A></CODE></B></DD>
+<DD>Get the vendor's <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> implementation of the wrapped resource.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html#getXAResource()">getXAResource</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the vendor's XAResource implementation.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getResourceBean()"><!-- --></A><H3>
+getResourceBean</H3>
+<PRE>
+public <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> <B>getResourceBean</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html#getResourceBean()">XAResourceHolder</A></CODE></B></DD>
+<DD>Get the ResourceBean which created this XAResourceHolder.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html#getResourceBean()">getResourceBean</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the ResourceBean which created this XAResourceHolder.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPoolingDataSource()"><!-- --></A><H3>
+getPoolingDataSource</H3>
+<PRE>
+public <A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A> <B>getPoolingDataSource</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXAResourceHolders()"><!-- --></A><H3>
+getXAResourceHolders</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>getXAResourceHolders</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getXAResourceHolders()">XAStatefulHolder</A></CODE></B></DD>
+<DD>Get the list of <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that are still open.
+ <p>This method is thread-safe.</p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getXAResourceHolders()">getXAResourceHolders</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the list of <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that are still open.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getConnectionHandle()"><!-- --></A><H3>
+getConnectionHandle</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getConnectionHandle</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getConnectionHandle()">XAStatefulHolder</A></CODE></B></DD>
+<DD>Create a disposable handler used to drive a pooled instance of
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>.
+ <p>This method is thread-safe.</p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getConnectionHandle()">getConnectionHandle</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a resource-specific disaposable connection object.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - a resource-specific exception thrown when the disaposable connection cannot be created.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="stateChanged(bitronix.tm.resource.common.XAStatefulHolder, int, int)"><!-- --></A><H3>
+stateChanged</H3>
+<PRE>
+public void <B>stateChanged</B>(<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> source,
+ int oldState,
+ int newState)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html#stateChanged(bitronix.tm.resource.common.XAStatefulHolder, int, int)">StateChangeListener</A></CODE></B></DD>
+<DD>Fired when the internal state of a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> has changed.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html#stateChanged(bitronix.tm.resource.common.XAStatefulHolder, int, int)">stateChanged</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> changing state.<DD><CODE>oldState</CODE> - the old state of the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>.<DD><CODE>newState</CODE> - the new state of the <A HREF="../../.. [...]
+</DD>
+</DL>
+<HR>
+
+<A NAME="stateChanging(bitronix.tm.resource.common.XAStatefulHolder, int, int)"><!-- --></A><H3>
+stateChanging</H3>
+<PRE>
+public void <B>stateChanging</B>(<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> source,
+ int currentState,
+ int futureState)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html#stateChanging(bitronix.tm.resource.common.XAStatefulHolder, int, int)">StateChangeListener</A></CODE></B></DD>
+<DD>Fired before the internal state of a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> has changed.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html#stateChanging(bitronix.tm.resource.common.XAStatefulHolder, int, int)">stateChanging</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> changing state.<DD><CODE>currentState</CODE> - the current state of the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>.<DD><CODE>futureState</CODE> - the future state of the <A [...]
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCachedStatement(bitronix.tm.resource.jdbc.JdbcPreparedStatementHandle)"><!-- --></A><H3>
+getCachedStatement</H3>
+<PRE>
+protected <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A> <B>getCachedStatement</B>(<A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A> stmt)</PRE>
+<DL>
+<DD>Get a PreparedStatement from cache.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>stmt</CODE> - the key that has been used to cache the statement.
+<DT><B>Returns:</B><DD>the cached statement corresponding to the key or null if no statement is cached under that key.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="putCachedStatement(bitronix.tm.resource.jdbc.JdbcPreparedStatementHandle)"><!-- --></A><H3>
+putCachedStatement</H3>
+<PRE>
+protected <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A> <B>putCachedStatement</B>(<A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A> stmt)</PRE>
+<DL>
+<DD>Put a PreparedStatement in the cache.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>stmt</CODE> - the statement to cache.
+<DT><B>Returns:</B><DD>the cached statement.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="registerUncachedStatement(java.sql.Statement)"><!-- --></A><H3>
+registerUncachedStatement</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html?is-external=true" title="class or interface in java.sql">Statement</A> <B>registerUncachedStatement</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html?is-external=true" title="class or interface in java.sql">Statement</A> stmt)</PRE>
+<DL>
+<DD>Register uncached statement so that it can be closed when the connection is put back in the pool.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>stmt</CODE> - the statement to register.
+<DT><B>Returns:</B><DD>the registered statement.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="unregisterUncachedStatement(java.sql.Statement)"><!-- --></A><H3>
+unregisterUncachedStatement</H3>
+<PRE>
+protected void <B>unregisterUncachedStatement</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html?is-external=true" title="class or interface in java.sql">Statement</A> stmt)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getStateDescription()"><!-- --></A><H3>
+getStateDescription</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getStateDescription</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html#getStateDescription()">getStateDescription</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jdbc">JdbcPooledConnectionMBean</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAcquisitionDate()"><!-- --></A><H3>
+getAcquisitionDate</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> <B>getAcquisitionDate</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html#getAcquisitionDate()">getAcquisitionDate</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jdbc">JdbcPooledConnectionMBean</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLastReleaseDate()"><!-- --></A><H3>
+getLastReleaseDate</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> <B>getLastReleaseDate</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getLastReleaseDate()">XAStatefulHolder</A></CODE></B></DD>
+<DD>Get the date at which this object was last released to the pool. This is required to check if it is eligible
+ for discard when the containing pool needs to shrink.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getLastReleaseDate()">getLastReleaseDate</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the date at which this object was last released to the pool or null if it never left the pool.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTransactionGtridsCurrentlyHoldingThis()"><!-- --></A><H3>
+getTransactionGtridsCurrentlyHoldingThis</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</A> <B>getTransactionGtridsCurrentlyHoldingThis</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html#getTransactionGtridsCurrentlyHoldingThis()">getTransactionGtridsCurrentlyHoldingThis</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jdbc">JdbcPooledConnectionMBean</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/JdbcPooledConnection.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jdbc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/JdbcPooledConnection.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JdbcPooledConnection.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html b/doc/api/bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html
new file mode 100644
index 0000000..0ba936f
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html
@@ -0,0 +1,256 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+JdbcPooledConnectionMBean (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="JdbcPooledConnectionMBean (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/JdbcPooledConnectionMBean.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JdbcPooledConnectionMBean.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jdbc</FONT>
+<BR>
+Interface JdbcPooledConnectionMBean</H2>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public interface <B>JdbcPooledConnectionMBean</B></DL>
+</PRE>
+
+<P>
+<A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc"><CODE>JdbcPooledConnection</CODE></A> Management interface.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html#getAcquisitionDate()">getAcquisitionDate</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html#getStateDescription()">getStateDescription</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html#getTransactionGtridsCurrentlyHoldingThis()">getTransactionGtridsCurrentlyHoldingThis</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getStateDescription()"><!-- --></A><H3>
+getStateDescription</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getStateDescription</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAcquisitionDate()"><!-- --></A><H3>
+getAcquisitionDate</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> <B>getAcquisitionDate</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTransactionGtridsCurrentlyHoldingThis()"><!-- --></A><H3>
+getTransactionGtridsCurrentlyHoldingThis</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</A> <B>getTransactionGtridsCurrentlyHoldingThis</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/JdbcPooledConnectionMBean.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JdbcPooledConnectionMBean.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html b/doc/api/bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html
new file mode 100644
index 0000000..5a8ad5b
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html
@@ -0,0 +1,616 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+JdbcPreparedStatementHandle (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="JdbcPreparedStatementHandle (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/JdbcPreparedStatementHandle.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jdbc"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcStatementHandle.html" title="class in bitronix.tm.resource.jdbc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JdbcPreparedStatementHandle.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jdbc</FONT>
+<BR>
+Class JdbcPreparedStatementHandle</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">bitronix.tm.resource.jdbc.BaseProxyHandlerClass</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.jdbc.JdbcPreparedStatementHandle</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/InvocationHandler.html?is-external=true" title="class or interface in java.lang.reflect">InvocationHandler</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>JdbcPreparedStatementHandle</B><DT>extends <A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">BaseProxyHandlerClass</A></DL>
+</PRE>
+
+<P>
+Caching <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql"><CODE>PreparedStatement</CODE></A> wrapper.
+ <p/>
+ This class is a proxy handler for a PreparedStatement. It does not
+ implement the PreparedStatement interface or extend a class directly,
+ but you methods implemented here will override those of the
+ underlying delegate. Simply implement a method with the same
+ signature, and the local method will be called rather than the delegate.
+ <p/>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban, brettw</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#JdbcPreparedStatementHandle(java.lang.String)">JdbcPreparedStatementHandle</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> sql)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#JdbcPreparedStatementHandle(java.lang.String, int)">JdbcPreparedStatementHandle</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> sql,
+ int autoGeneratedKeys)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#JdbcPreparedStatementHandle(java.lang.String, int[])">JdbcPreparedStatementHandle</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> sql,
+ int[] columnIndexes)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#JdbcPreparedStatementHandle(java.lang.String, int, int)">JdbcPreparedStatementHandle</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> sql,
+ int resultSetType,
+ int resultSetConcurrency)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#JdbcPreparedStatementHandle(java.lang.String, int, int, int)">JdbcPreparedStatementHandle</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> sql,
+ int resultSetType,
+ int resultSetConcurrency,
+ int resultSetHoldability)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#JdbcPreparedStatementHandle(java.lang.String, java.lang.String[])">JdbcPreparedStatementHandle</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> sql,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[] columnNames)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#close()">close</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#equals(java.lang.Object)">equals</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> obj)</CODE>
+
+<BR>
+ Overridden equals() that takes all PreparedStatement attributes into
+ account.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#getDelegateUnchecked()">getDelegateUnchecked</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#getPooledConnection()">getPooledConnection</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#getProxiedDelegate()">getProxiedDelegate</A></B>()</CODE>
+
+<BR>
+ Must be implemented by the sub-class of this class.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#hashCode()">hashCode</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#isClosed()">isClosed</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#isWrapperFor(java.lang.Class)">isWrapperFor</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> iface)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#setDelegate(java.sql.PreparedStatement)">setDelegate</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</A> delegate)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#setPooledConnection(bitronix.tm.resource.jdbc.JdbcPooledConnection)">setPooledConnection</A></B>(<A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A> pooledConnection)</CODE>
+
+<BR>
+ Set the parent connection that created this statement.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#unwrap(java.lang.Class)">unwrap</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> iface)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.jdbc.BaseProxyHandlerClass"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class bitronix.tm.resource.jdbc.<A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">BaseProxyHandlerClass</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html#invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])">invoke</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.c [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="JdbcPreparedStatementHandle(java.lang.String)"><!-- --></A><H3>
+JdbcPreparedStatementHandle</H3>
+<PRE>
+public <B>JdbcPreparedStatementHandle</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> sql)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="JdbcPreparedStatementHandle(java.lang.String, int)"><!-- --></A><H3>
+JdbcPreparedStatementHandle</H3>
+<PRE>
+public <B>JdbcPreparedStatementHandle</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> sql,
+ int autoGeneratedKeys)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="JdbcPreparedStatementHandle(java.lang.String, int, int)"><!-- --></A><H3>
+JdbcPreparedStatementHandle</H3>
+<PRE>
+public <B>JdbcPreparedStatementHandle</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> sql,
+ int resultSetType,
+ int resultSetConcurrency)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="JdbcPreparedStatementHandle(java.lang.String, int, int, int)"><!-- --></A><H3>
+JdbcPreparedStatementHandle</H3>
+<PRE>
+public <B>JdbcPreparedStatementHandle</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> sql,
+ int resultSetType,
+ int resultSetConcurrency,
+ int resultSetHoldability)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="JdbcPreparedStatementHandle(java.lang.String, int[])"><!-- --></A><H3>
+JdbcPreparedStatementHandle</H3>
+<PRE>
+public <B>JdbcPreparedStatementHandle</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> sql,
+ int[] columnIndexes)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="JdbcPreparedStatementHandle(java.lang.String, java.lang.String[])"><!-- --></A><H3>
+JdbcPreparedStatementHandle</H3>
+<PRE>
+public <B>JdbcPreparedStatementHandle</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> sql,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[] columnNames)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="isWrapperFor(java.lang.Class)"><!-- --></A><H3>
+isWrapperFor</H3>
+<PRE>
+public boolean <B>isWrapperFor</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> iface)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="unwrap(java.lang.Class)"><!-- --></A><H3>
+unwrap</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>unwrap</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> iface)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPooledConnection(bitronix.tm.resource.jdbc.JdbcPooledConnection)"><!-- --></A><H3>
+setPooledConnection</H3>
+<PRE>
+protected void <B>setPooledConnection</B>(<A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A> pooledConnection)</PRE>
+<DL>
+<DD>Set the parent connection that created this statement. We need this to
+ return the PreparedStatement to the pool.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>pooledConnection</CODE> - the parent JdbcPooledConnection</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPooledConnection()"><!-- --></A><H3>
+getPooledConnection</H3>
+<PRE>
+protected <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A> <B>getPooledConnection</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDelegateUnchecked()"><!-- --></A><H3>
+getDelegateUnchecked</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</A> <B>getDelegateUnchecked</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDelegate(java.sql.PreparedStatement)"><!-- --></A><H3>
+setDelegate</H3>
+<PRE>
+protected void <B>setDelegate</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</A> delegate)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getProxiedDelegate()"><!-- --></A><H3>
+getProxiedDelegate</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getProxiedDelegate</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><B>Description copied from class: <CODE><A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html#getProxiedDelegate()">BaseProxyHandlerClass</A></CODE></B></DD>
+<DD>Must be implemented by the sub-class of this class. This method
+ should return the "true" object to be delegated to in the case
+ that the method is not overridden by the sub-class.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html#getProxiedDelegate()">getProxiedDelegate</A></CODE> in class <CODE><A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">BaseProxyHandlerClass</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the true delegate object
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - can throw any exception if desired</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="equals(java.lang.Object)"><!-- --></A><H3>
+equals</H3>
+<PRE>
+public boolean <B>equals</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> obj)</PRE>
+<DL>
+<DD>Overridden equals() that takes all PreparedStatement attributes into
+ account.
+<P>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hashCode()"><!-- --></A><H3>
+hashCode</H3>
+<PRE>
+public int <B>hashCode</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public void <B>close</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isClosed()"><!-- --></A><H3>
+isClosed</H3>
+<PRE>
+public boolean <B>isClosed</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/JdbcPreparedStatementHandle.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jdbc"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcStatementHandle.html" title="class in bitronix.tm.resource.jdbc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JdbcPreparedStatementHandle.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/JdbcStatementHandle.html b/doc/api/bitronix/tm/resource/jdbc/JdbcStatementHandle.html
new file mode 100644
index 0000000..6e1e252
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/JdbcStatementHandle.html
@@ -0,0 +1,361 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+JdbcStatementHandle (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="JdbcStatementHandle (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/JdbcStatementHandle.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/JdbcStatementHandle.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JdbcStatementHandle.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jdbc</FONT>
+<BR>
+Class JdbcStatementHandle</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">bitronix.tm.resource.jdbc.BaseProxyHandlerClass</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.jdbc.JdbcStatementHandle</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/InvocationHandler.html?is-external=true" title="class or interface in java.lang.reflect">InvocationHandler</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>JdbcStatementHandle</B><DT>extends <A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">BaseProxyHandlerClass</A></DL>
+</PRE>
+
+<P>
+Statement <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html?is-external=true" title="class or interface in java.sql"><CODE>Statement</CODE></A> wrapper.
+ <p/>
+ This class is a proxy handler for a Statement. It does not
+ implement the Statement interface or extend a class directly,
+ but you methods implemented here will override those of the
+ underlying delegate. Simply implement a method with the same
+ signature, and the local method will be called rather than the delegate.
+ <p/>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>brettw</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcStatementHandle.html#JdbcStatementHandle(java.sql.Statement, bitronix.tm.resource.jdbc.JdbcPooledConnection)">JdbcStatementHandle</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html?is-external=true" title="class or interface in java.sql">Statement</A> delegate,
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A> pooledConnection)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcStatementHandle.html#close()">close</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcStatementHandle.html#getProxiedDelegate()">getProxiedDelegate</A></B>()</CODE>
+
+<BR>
+ Must be implemented by the sub-class of this class.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcStatementHandle.html#isWrapperFor(java.lang.Class)">isWrapperFor</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> iface)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcStatementHandle.html#unwrap(java.lang.Class)">unwrap</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> iface)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.jdbc.BaseProxyHandlerClass"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class bitronix.tm.resource.jdbc.<A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">BaseProxyHandlerClass</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html#invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])">invoke</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="JdbcStatementHandle(java.sql.Statement, bitronix.tm.resource.jdbc.JdbcPooledConnection)"><!-- --></A><H3>
+JdbcStatementHandle</H3>
+<PRE>
+public <B>JdbcStatementHandle</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html?is-external=true" title="class or interface in java.sql">Statement</A> delegate,
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A> pooledConnection)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="isWrapperFor(java.lang.Class)"><!-- --></A><H3>
+isWrapperFor</H3>
+<PRE>
+public boolean <B>isWrapperFor</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> iface)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="unwrap(java.lang.Class)"><!-- --></A><H3>
+unwrap</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>unwrap</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> iface)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getProxiedDelegate()"><!-- --></A><H3>
+getProxiedDelegate</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getProxiedDelegate</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><B>Description copied from class: <CODE><A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html#getProxiedDelegate()">BaseProxyHandlerClass</A></CODE></B></DD>
+<DD>Must be implemented by the sub-class of this class. This method
+ should return the "true" object to be delegated to in the case
+ that the method is not overridden by the sub-class.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html#getProxiedDelegate()">getProxiedDelegate</A></CODE> in class <CODE><A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">BaseProxyHandlerClass</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the true delegate object
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - can throw any exception if desired</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public void <B>close</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/JdbcStatementHandle.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/JdbcStatementHandle.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JdbcStatementHandle.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html b/doc/api/bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html
new file mode 100644
index 0000000..add3593
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html
@@ -0,0 +1,346 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+JdbcUncachedPreparedStatementHandle (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="JdbcUncachedPreparedStatementHandle (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/JdbcUncachedPreparedStatementHandle.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcStatementHandle.html" title="class in bitronix.tm.resource.jdbc"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/LruEvictionListener.html" title="interface in bitronix.tm.resource.jdbc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JdbcUncachedPreparedStatementHandle.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jdbc</FONT>
+<BR>
+Class JdbcUncachedPreparedStatementHandle</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">bitronix.tm.resource.jdbc.BaseProxyHandlerClass</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.jdbc.JdbcUncachedPreparedStatementHandle</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/InvocationHandler.html?is-external=true" title="class or interface in java.lang.reflect">InvocationHandler</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>JdbcUncachedPreparedStatementHandle</B><DT>extends <A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">BaseProxyHandlerClass</A></DL>
+</PRE>
+
+<P>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html#JdbcUncachedPreparedStatementHandle(java.sql.PreparedStatement, bitronix.tm.resource.jdbc.JdbcPooledConnection)">JdbcUncachedPreparedStatementHandle</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</A> delegate,
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A> pooledConnection)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html#close()">close</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html#getProxiedDelegate()">getProxiedDelegate</A></B>()</CODE>
+
+<BR>
+ Must be implemented by the sub-class of this class.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html#isWrapperFor(java.lang.Class)">isWrapperFor</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> iface)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html#unwrap(java.lang.Class)">unwrap</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> iface)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.jdbc.BaseProxyHandlerClass"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class bitronix.tm.resource.jdbc.<A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">BaseProxyHandlerClass</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html#invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])">invoke</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="JdbcUncachedPreparedStatementHandle(java.sql.PreparedStatement, bitronix.tm.resource.jdbc.JdbcPooledConnection)"><!-- --></A><H3>
+JdbcUncachedPreparedStatementHandle</H3>
+<PRE>
+public <B>JdbcUncachedPreparedStatementHandle</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</A> delegate,
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A> pooledConnection)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getProxiedDelegate()"><!-- --></A><H3>
+getProxiedDelegate</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getProxiedDelegate</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><B>Description copied from class: <CODE><A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html#getProxiedDelegate()">BaseProxyHandlerClass</A></CODE></B></DD>
+<DD>Must be implemented by the sub-class of this class. This method
+ should return the "true" object to be delegated to in the case
+ that the method is not overridden by the sub-class.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html#getProxiedDelegate()">getProxiedDelegate</A></CODE> in class <CODE><A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">BaseProxyHandlerClass</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the true delegate object
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - can throw any exception if desired</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isWrapperFor(java.lang.Class)"><!-- --></A><H3>
+isWrapperFor</H3>
+<PRE>
+public boolean <B>isWrapperFor</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> iface)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="unwrap(java.lang.Class)"><!-- --></A><H3>
+unwrap</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>unwrap</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> iface)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public void <B>close</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/JdbcUncachedPreparedStatementHandle.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcStatementHandle.html" title="class in bitronix.tm.resource.jdbc"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/LruEvictionListener.html" title="interface in bitronix.tm.resource.jdbc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JdbcUncachedPreparedStatementHandle.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/LruEvictionListener.html b/doc/api/bitronix/tm/resource/jdbc/LruEvictionListener.html
new file mode 100644
index 0000000..1679ab5
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/LruEvictionListener.html
@@ -0,0 +1,215 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+LruEvictionListener (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="LruEvictionListener (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LruEvictionListener.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/LruStatementCache.html" title="class in bitronix.tm.resource.jdbc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/LruEvictionListener.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LruEvictionListener.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jdbc</FONT>
+<BR>
+Interface LruEvictionListener</H2>
+<HR>
+<DL>
+<DT><PRE>public interface <B>LruEvictionListener</B></DL>
+</PRE>
+
+<P>
+Eviction listener interface for <A HREF="../../../../bitronix/tm/resource/jdbc/LruStatementCache.html" title="class in bitronix.tm.resource.jdbc"><CODE>LruStatementCache</CODE></A>.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/LruEvictionListener.html#onEviction(java.lang.Object)">onEviction</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> value)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="onEviction(java.lang.Object)"><!-- --></A><H3>
+onEviction</H3>
+<PRE>
+void <B>onEviction</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> value)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LruEvictionListener.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/LruStatementCache.html" title="class in bitronix.tm.resource.jdbc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/LruEvictionListener.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LruEvictionListener.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/LruStatementCache.html b/doc/api/bitronix/tm/resource/jdbc/LruStatementCache.html
new file mode 100644
index 0000000..402f2bb
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/LruStatementCache.html
@@ -0,0 +1,359 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+LruStatementCache (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="LruStatementCache (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LruStatementCache.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jdbc/LruEvictionListener.html" title="interface in bitronix.tm.resource.jdbc"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/LruStatementCache.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LruStatementCache.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jdbc</FONT>
+<BR>
+Class LruStatementCache</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.jdbc.LruStatementCache</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>LruStatementCache</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+Last Recently Used PreparedStatement cache with eviction listeners
+ support implementation.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban, brettw</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/LruStatementCache.html#LruStatementCache(int)">LruStatementCache</A></B>(int maxSize)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/LruStatementCache.html#addEvictionListener(bitronix.tm.resource.jdbc.LruEvictionListener)">addEvictionListener</A></B>(<A HREF="../../../../bitronix/tm/resource/jdbc/LruEvictionListener.html" title="interface in bitronix.tm.resource.jdbc">LruEvictionListener</A> listener)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/LruStatementCache.html#clear()">clear</A></B>()</CODE>
+
+<BR>
+ Evict all statements from the cache.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/LruStatementCache.html#get(bitronix.tm.resource.jdbc.JdbcPreparedStatementHandle)">get</A></B>(<A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A> key)</CODE>
+
+<BR>
+ The provided key is just a 'shell' JdbcPreparedStatementHandle, it comes
+ in with no actual 'delegate' PreparedStatement.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/LruStatementCache.html#put(bitronix.tm.resource.jdbc.JdbcPreparedStatementHandle)">put</A></B>(<A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A> key)</CODE>
+
+<BR>
+ A statement is put into the cache.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/LruStatementCache.html#removeEvictionListener(bitronix.tm.resource.jdbc.LruEvictionListener)">removeEvictionListener</A></B>(<A HREF="../../../../bitronix/tm/resource/jdbc/LruEvictionListener.html" title="interface in bitronix.tm.resource.jdbc">LruEvictionListener</A> listener)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="LruStatementCache(int)"><!-- --></A><H3>
+LruStatementCache</H3>
+<PRE>
+public <B>LruStatementCache</B>(int maxSize)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="get(bitronix.tm.resource.jdbc.JdbcPreparedStatementHandle)"><!-- --></A><H3>
+get</H3>
+<PRE>
+public <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A> <B>get</B>(<A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A> key)</PRE>
+<DL>
+<DD>The provided key is just a 'shell' JdbcPreparedStatementHandle, it comes
+ in with no actual 'delegate' PreparedStatement. However, it contains all
+ other pertinent information such as SQL statement, autogeneratedkeys
+ flag, cursor holdability, etc. See the equals() method in the
+ JdbcPreparedStatementHandle class. It is a complete key for a cached
+ statement.
+
+ If there is a matching cached PreparedStatement, it will be set as the
+ delegate in the provided JdbcPreparedStatementHandle.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - the cache key
+<DT><B>Returns:</B><DD>the cached JdbcPreparedStatementHandle statement, or null</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="put(bitronix.tm.resource.jdbc.JdbcPreparedStatementHandle)"><!-- --></A><H3>
+put</H3>
+<PRE>
+public <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A> <B>put</B>(<A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A> key)</PRE>
+<DL>
+<DD>A statement is put into the cache. This is called when a
+ statement is first prepared and also when a statement is
+ closed (by the client). A "closed" statement has it's
+ usage counter decremented in the cache.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>key</CODE> - a prepared statement handle
+<DT><B>Returns:</B><DD>a prepared statement</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="clear()"><!-- --></A><H3>
+clear</H3>
+<PRE>
+protected void <B>clear</B>()</PRE>
+<DL>
+<DD>Evict all statements from the cache. This likely happens on
+ connection close.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addEvictionListener(bitronix.tm.resource.jdbc.LruEvictionListener)"><!-- --></A><H3>
+addEvictionListener</H3>
+<PRE>
+public void <B>addEvictionListener</B>(<A HREF="../../../../bitronix/tm/resource/jdbc/LruEvictionListener.html" title="interface in bitronix.tm.resource.jdbc">LruEvictionListener</A> listener)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeEvictionListener(bitronix.tm.resource.jdbc.LruEvictionListener)"><!-- --></A><H3>
+removeEvictionListener</H3>
+<PRE>
+public void <B>removeEvictionListener</B>(<A HREF="../../../../bitronix/tm/resource/jdbc/LruEvictionListener.html" title="interface in bitronix.tm.resource.jdbc">LruEvictionListener</A> listener)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LruStatementCache.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jdbc/LruEvictionListener.html" title="interface in bitronix.tm.resource.jdbc"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/LruStatementCache.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LruStatementCache.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/PoolingDataSource.html b/doc/api/bitronix/tm/resource/jdbc/PoolingDataSource.html
new file mode 100644
index 0000000..ba145e7
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/PoolingDataSource.html
@@ -0,0 +1,1142 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+PoolingDataSource (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="PoolingDataSource (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PoolingDataSource.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jdbc/LruStatementCache.html" title="class in bitronix.tm.resource.jdbc"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html" title="interface in bitronix.tm.resource.jdbc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/PoolingDataSource.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PoolingDataSource.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jdbc</FONT>
+<BR>
+Class PoolingDataSource</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">bitronix.tm.resource.common.ResourceBean</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.jdbc.PoolingDataSource</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A>, <A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html" title="interface in bitronix.tm.resource.jdbc">PoolingDataSourceMBean</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, <A [...]
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>PoolingDataSource</B><DT>extends <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A><DT>implements <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql">DataSource</A>, <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer [...]
+</PRE>
+
+<P>
+Implementation of a JDBC <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql"><CODE>DataSource</CODE></A> wrapping vendor's <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/XADataSource.html?is-external=true" title="class or interface in javax.sql"><CODE>XADataSource</CODE></A> implementation.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban, brettw</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#bitronix.tm.resource.jdbc.PoolingDataSource">Serialized Form</A></DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#PoolingDataSource()">PoolingDataSource</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#addConnectionCustomizer(bitronix.tm.resource.jdbc.ConnectionCustomizer)">addConnectionCustomizer</A></B>(<A HREF="../../../../bitronix/tm/resource/jdbc/ConnectionCustomizer.html" title="interface in bitronix.tm.resource.jdbc">ConnectionCustomizer</A> connectionCustomizer)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#close()">close</A></B>()</CODE>
+
+<BR>
+ Release this <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>'s internal resources.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#createPooledConnection(java.lang.Object, bitronix.tm.resource.common.ResourceBean)">createPooledConnection</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> xaFactory,
+ <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)</CODE>
+
+<BR>
+ Create a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that will be placed in an <A HREF="../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common"><CODE>XAPool</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#endRecovery()">endRecovery</A></B>()</CODE>
+
+<BR>
+ Release internal resources held after call to <code>startRecovery()</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#findXAResourceHolder(javax.transaction.xa.XAResource)">findXAResourceHolder</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)</CODE>
+
+<BR>
+ Find in the <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> the one which this
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> belongs to.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#getConnection()">getConnection</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#getConnection(java.lang.String, java.lang.String)">getConnection</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> username,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> password)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#getCursorHoldability()">getCursorHoldability</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#getInPoolSize()">getInPoolSize</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#getIsolationLevel()">getIsolationLevel</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#getLocalAutoCommit()">getLocalAutoCommit</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#getLoginTimeout()">getLoginTimeout</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#getLogWriter()">getLogWriter</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#getPreparedStatementCacheSize()">getPreparedStatementCacheSize</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Reference.html?is-external=true" title="class or interface in javax.naming">Reference</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#getReference()">getReference</A></B>()</CODE>
+
+<BR>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc"><CODE>PoolingDataSource</CODE></A> must alway have a unique name so this method builds a reference to this object using
+ the unique name as <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/RefAddr.html?is-external=true" title="class or interface in javax.naming"><CODE>RefAddr</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#getTestQuery()">getTestQuery</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#getTotalPoolSize()">getTotalPoolSize</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#init()">init</A></B>()</CODE>
+
+<BR>
+ Initializes the pool by creating the initial amount of connections.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#isEnableJdbc4ConnectionTest()">isEnableJdbc4ConnectionTest</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#isFailed()">isFailed</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#isWrapperFor(java.lang.Class)">isWrapperFor</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> iface)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#removeConnectionCustomizer(bitronix.tm.resource.jdbc.ConnectionCustomizer)">removeConnectionCustomizer</A></B>(<A HREF="../../../../bitronix/tm/resource/jdbc/ConnectionCustomizer.html" title="interface in bitronix.tm.resource.jdbc">ConnectionCustomizer</A> connectionCustomizer)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#reset()">reset</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#setCursorHoldability(java.lang.String)">setCursorHoldability</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> cursorHoldability)</CODE>
+
+<BR>
+ Set the default cursor holdability for connections.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#setEnableJdbc4ConnectionTest(boolean)">setEnableJdbc4ConnectionTest</A></B>(boolean enableJdbc4ConnectionTest)</CODE>
+
+<BR>
+ When set and the underlying JDBC driver supports JDBC 4 isValid(), a Connection.isValid() call
+ is performed to test the connection before handing it to the caller.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#setFailed(boolean)">setFailed</A></B>(boolean failed)</CODE>
+
+<BR>
+ Mark this resource producer as failed or not.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#setIsolationLevel(java.lang.String)">setIsolationLevel</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> isolationLevel)</CODE>
+
+<BR>
+ Set the default isolation level for connections.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#setLocalAutoCommit(java.lang.String)">setLocalAutoCommit</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> localAutoCommit)</CODE>
+
+<BR>
+ Set the default local transactions autocommit mode.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#setLoginTimeout(int)">setLoginTimeout</A></B>(int seconds)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#setLogWriter(java.io.PrintWriter)">setLogWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</A> out)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#setPreparedStatementCacheSize(int)">setPreparedStatementCacheSize</A></B>(int preparedStatementCacheSize)</CODE>
+
+<BR>
+ Set the target maximum size of the prepared statement cache.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#setTestQuery(java.lang.String)">setTestQuery</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> testQuery)</CODE>
+
+<BR>
+ When set, the specified query will be executed on the connection acquired from the pool before being handed to
+ the caller.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#startRecovery()">startRecovery</A></B>()</CODE>
+
+<BR>
+ Prepare the recoverable <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> producer for recovery.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#unwrap(java.lang.Class)">unwrap</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> iface)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.common.ResourceBean"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#getAcquireIncrement()">getAcquireIncrement</A>, <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#getAcquisitionInterval()">getAcquisitionInterval</A>, <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#getAcquisitionTimeout()">getAcquisitionTimeout</A>, <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#getAllowLocalTransactions()">getAllowLocalTransactions</A>, [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.common.XAResourceProducer"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from interface bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#getUniqueName()">getUniqueName</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.jdbc.PoolingDataSourceMBean"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from interface bitronix.tm.resource.jdbc.<A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html" title="interface in bitronix.tm.resource.jdbc">PoolingDataSourceMBean</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html#getMaxPoolSize()">getMaxPoolSize</A>, <A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html#getMinPoolSize()">getMinPoolSize</A>, <A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html#isDisabled()">isDisabled</A>, <A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html#setDisabled(boolean)">setDisabled</A></CODE></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="PoolingDataSource()"><!-- --></A><H3>
+PoolingDataSource</H3>
+<PRE>
+public <B>PoolingDataSource</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="init()"><!-- --></A><H3>
+init</H3>
+<PRE>
+public void <B>init</B>()</PRE>
+<DL>
+<DD>Initializes the pool by creating the initial amount of connections.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#init()">init</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTestQuery()"><!-- --></A><H3>
+getTestQuery</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getTestQuery</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the query that will be used to test connections.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setTestQuery(java.lang.String)"><!-- --></A><H3>
+setTestQuery</H3>
+<PRE>
+public void <B>setTestQuery</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> testQuery)</PRE>
+<DL>
+<DD>When set, the specified query will be executed on the connection acquired from the pool before being handed to
+ the caller. The connections won't be tested when not set. Default value is null.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>testQuery</CODE> - the query that will be used to test connections.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setEnableJdbc4ConnectionTest(boolean)"><!-- --></A><H3>
+setEnableJdbc4ConnectionTest</H3>
+<PRE>
+public void <B>setEnableJdbc4ConnectionTest</B>(boolean enableJdbc4ConnectionTest)</PRE>
+<DL>
+<DD>When set and the underlying JDBC driver supports JDBC 4 isValid(), a Connection.isValid() call
+ is performed to test the connection before handing it to the caller.
+ If both testQuery and enableJdbc4ConnectionTest are set, enableJdbc4ConnectionTest takes precedence.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>enableJdbc4ConnectionTest</CODE> - true if JDBC 4 isValid() testing should be performed, false otherwise.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isEnableJdbc4ConnectionTest()"><!-- --></A><H3>
+isEnableJdbc4ConnectionTest</H3>
+<PRE>
+public boolean <B>isEnableJdbc4ConnectionTest</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if JDBC 4 isValid() testing should be performed, false otherwise.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPreparedStatementCacheSize()"><!-- --></A><H3>
+getPreparedStatementCacheSize</H3>
+<PRE>
+public int <B>getPreparedStatementCacheSize</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the target maximum prepared statement cache size.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPreparedStatementCacheSize(int)"><!-- --></A><H3>
+setPreparedStatementCacheSize</H3>
+<PRE>
+public void <B>setPreparedStatementCacheSize</B>(int preparedStatementCacheSize)</PRE>
+<DL>
+<DD>Set the target maximum size of the prepared statement cache. In
+ reality under certain unusual conditions the cache may temporarily
+ drift higher in size.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>preparedStatementCacheSize</CODE> - the target maximum prepared statement cache size.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getIsolationLevel()"><!-- --></A><H3>
+getIsolationLevel</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getIsolationLevel</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the default isolation level.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setIsolationLevel(java.lang.String)"><!-- --></A><H3>
+setIsolationLevel</H3>
+<PRE>
+public void <B>setIsolationLevel</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> isolationLevel)</PRE>
+<DL>
+<DD>Set the default isolation level for connections.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>isolationLevel</CODE> - the default isolation level.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCursorHoldability()"><!-- --></A><H3>
+getCursorHoldability</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getCursorHoldability</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>cursorHoldability the default cursor holdability.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setCursorHoldability(java.lang.String)"><!-- --></A><H3>
+setCursorHoldability</H3>
+<PRE>
+public void <B>setCursorHoldability</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> cursorHoldability)</PRE>
+<DL>
+<DD>Set the default cursor holdability for connections.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cursorHoldability</CODE> - the default cursor holdability.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLocalAutoCommit()"><!-- --></A><H3>
+getLocalAutoCommit</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getLocalAutoCommit</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>localAutoCommit the default local transactions autocommit mode.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setLocalAutoCommit(java.lang.String)"><!-- --></A><H3>
+setLocalAutoCommit</H3>
+<PRE>
+public void <B>setLocalAutoCommit</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> localAutoCommit)</PRE>
+<DL>
+<DD>Set the default local transactions autocommit mode.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>localAutoCommit</CODE> - the default local transactions autocommit mode.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addConnectionCustomizer(bitronix.tm.resource.jdbc.ConnectionCustomizer)"><!-- --></A><H3>
+addConnectionCustomizer</H3>
+<PRE>
+public void <B>addConnectionCustomizer</B>(<A HREF="../../../../bitronix/tm/resource/jdbc/ConnectionCustomizer.html" title="interface in bitronix.tm.resource.jdbc">ConnectionCustomizer</A> connectionCustomizer)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeConnectionCustomizer(bitronix.tm.resource.jdbc.ConnectionCustomizer)"><!-- --></A><H3>
+removeConnectionCustomizer</H3>
+<PRE>
+public void <B>removeConnectionCustomizer</B>(<A HREF="../../../../bitronix/tm/resource/jdbc/ConnectionCustomizer.html" title="interface in bitronix.tm.resource.jdbc">ConnectionCustomizer</A> connectionCustomizer)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getConnection()"><!-- --></A><H3>
+getConnection</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A> <B>getConnection</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/DataSource.html?is-external=true#getConnection()" title="class or interface in javax.sql">getConnection</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql">DataSource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getConnection(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getConnection</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A> <B>getConnection</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> username,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> password)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/DataSource.html?is-external=true#getConnection(java.lang.String, java.lang.String)" title="class or interface in javax.sql">getConnection</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql">DataSource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="startRecovery()"><!-- --></A><H3>
+startRecovery</H3>
+<PRE>
+public <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> <B>startRecovery</B>()
+ throws <A HREF="../../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A></PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#startRecovery()">XAResourceProducer</A></CODE></B></DD>
+<DD>Prepare the recoverable <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> producer for recovery.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#startRecovery()">startRecovery</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A> object that can be used to call <code>recover()</code>.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A></CODE> - thrown when a <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A> cannot be acquired.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="endRecovery()"><!-- --></A><H3>
+endRecovery</H3>
+<PRE>
+public void <B>endRecovery</B>()
+ throws <A HREF="../../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A></PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#endRecovery()">XAResourceProducer</A></CODE></B></DD>
+<DD>Release internal resources held after call to <code>startRecovery()</code>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#endRecovery()">endRecovery</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A></CODE> - thrown when an error occured while releasing reserved resources.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setFailed(boolean)"><!-- --></A><H3>
+setFailed</H3>
+<PRE>
+public void <B>setFailed</B>(boolean failed)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#setFailed(boolean)">XAResourceProducer</A></CODE></B></DD>
+<DD>Mark this resource producer as failed or not. A resource is considered failed if recovery fails to run on it.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#setFailed(boolean)">setFailed</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>failed</CODE> - true is the resource must be considered failed, false it it must be considered sane.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isFailed()"><!-- --></A><H3>
+isFailed</H3>
+<PRE>
+public boolean <B>isFailed</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html#isFailed()">isFailed</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html" title="interface in bitronix.tm.resource.jdbc">PoolingDataSourceMBean</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public void <B>close</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#close()">XAResourceProducer</A></CODE></B></DD>
+<DD>Release this <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>'s internal resources.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#close()">close</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createPooledConnection(java.lang.Object, bitronix.tm.resource.common.ResourceBean)"><!-- --></A><H3>
+createPooledConnection</H3>
+<PRE>
+public <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> <B>createPooledConnection</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> xaFactory,
+ <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#createPooledConnection(java.lang.Object, bitronix.tm.resource.common.ResourceBean)">XAResourceProducer</A></CODE></B></DD>
+<DD>Create a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that will be placed in an <A HREF="../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common"><CODE>XAPool</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#createPooledConnection(java.lang.Object, bitronix.tm.resource.common.ResourceBean)">createPooledConnection</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xaFactory</CODE> - the vendor's resource-specific XA factory.<DD><CODE>bean</CODE> - the resource-specific bean describing the resource parameters.
+<DT><B>Returns:</B><DD>a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that will be placed in an <A HREF="../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common"><CODE>XAPool</CODE></A>.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - thrown when the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> cannot be created.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="findXAResourceHolder(javax.transaction.xa.XAResource)"><!-- --></A><H3>
+findXAResourceHolder</H3>
+<PRE>
+public <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> <B>findXAResourceHolder</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#findXAResourceHolder(javax.transaction.xa.XAResource)">XAResourceProducer</A></CODE></B></DD>
+<DD>Find in the <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> the one which this
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> belongs to.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#findXAResourceHolder(javax.transaction.xa.XAResource)">findXAResourceHolder</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xaResource</CODE> - the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> to look for.
+<DT><B>Returns:</B><DD>the associated <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> or null if the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> does not belong to this
+ <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getReference()"><!-- --></A><H3>
+getReference</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Reference.html?is-external=true" title="class or interface in javax.naming">Reference</A> <B>getReference</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc"><CODE>PoolingDataSource</CODE></A> must alway have a unique name so this method builds a reference to this object using
+ the unique name as <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/RefAddr.html?is-external=true" title="class or interface in javax.naming"><CODE>RefAddr</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Referenceable.html?is-external=true#getReference()" title="class or interface in javax.naming">getReference</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Referenceable.html?is-external=true" title="class or interface in javax.naming">Referenceable</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a reference to this <A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc"><CODE>PoolingDataSource</CODE></A>.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLoginTimeout()"><!-- --></A><H3>
+getLoginTimeout</H3>
+<PRE>
+public int <B>getLoginTimeout</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/CommonDataSource.html?is-external=true#getLoginTimeout()" title="class or interface in javax.sql">getLoginTimeout</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/CommonDataSource.html?is-external=true" title="class or interface in javax.sql">CommonDataSource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setLoginTimeout(int)"><!-- --></A><H3>
+setLoginTimeout</H3>
+<PRE>
+public void <B>setLoginTimeout</B>(int seconds)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/CommonDataSource.html?is-external=true#setLoginTimeout(int)" title="class or interface in javax.sql">setLoginTimeout</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/CommonDataSource.html?is-external=true" title="class or interface in javax.sql">CommonDataSource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLogWriter()"><!-- --></A><H3>
+getLogWriter</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</A> <B>getLogWriter</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/CommonDataSource.html?is-external=true#getLogWriter()" title="class or interface in javax.sql">getLogWriter</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/CommonDataSource.html?is-external=true" title="class or interface in javax.sql">CommonDataSource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setLogWriter(java.io.PrintWriter)"><!-- --></A><H3>
+setLogWriter</H3>
+<PRE>
+public void <B>setLogWriter</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</A> out)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/CommonDataSource.html?is-external=true#setLogWriter(java.io.PrintWriter)" title="class or interface in javax.sql">setLogWriter</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/CommonDataSource.html?is-external=true" title="class or interface in javax.sql">CommonDataSource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isWrapperFor(java.lang.Class)"><!-- --></A><H3>
+isWrapperFor</H3>
+<PRE>
+public boolean <B>isWrapperFor</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> iface)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Wrapper.html?is-external=true#isWrapperFor(java.lang.Class)" title="class or interface in java.sql">isWrapperFor</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Wrapper.html?is-external=true" title="class or interface in java.sql">Wrapper</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="unwrap(java.lang.Class)"><!-- --></A><H3>
+unwrap</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>unwrap</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> iface)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Wrapper.html?is-external=true#unwrap(java.lang.Class)" title="class or interface in java.sql">unwrap</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Wrapper.html?is-external=true" title="class or interface in java.sql">Wrapper</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInPoolSize()"><!-- --></A><H3>
+getInPoolSize</H3>
+<PRE>
+public long <B>getInPoolSize</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html#getInPoolSize()">getInPoolSize</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html" title="interface in bitronix.tm.resource.jdbc">PoolingDataSourceMBean</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTotalPoolSize()"><!-- --></A><H3>
+getTotalPoolSize</H3>
+<PRE>
+public long <B>getTotalPoolSize</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html#getTotalPoolSize()">getTotalPoolSize</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html" title="interface in bitronix.tm.resource.jdbc">PoolingDataSourceMBean</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="reset()"><!-- --></A><H3>
+reset</H3>
+<PRE>
+public void <B>reset</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html#reset()">reset</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html" title="interface in bitronix.tm.resource.jdbc">PoolingDataSourceMBean</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PoolingDataSource.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jdbc/LruStatementCache.html" title="class in bitronix.tm.resource.jdbc"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html" title="interface in bitronix.tm.resource.jdbc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/PoolingDataSource.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PoolingDataSource.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html b/doc/api/bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html
new file mode 100644
index 0000000..58ca9e1
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html
@@ -0,0 +1,350 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+PoolingDataSourceMBean (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="PoolingDataSourceMBean (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PoolingDataSourceMBean.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PoolingDataSourceMBean.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jdbc</FONT>
+<BR>
+Interface PoolingDataSourceMBean</H2>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public interface <B>PoolingDataSourceMBean</B></DL>
+</PRE>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html#getInPoolSize()">getInPoolSize</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html#getMaxPoolSize()">getMaxPoolSize</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html#getMinPoolSize()">getMinPoolSize</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html#getTotalPoolSize()">getTotalPoolSize</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html#isDisabled()">isDisabled</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html#isFailed()">isFailed</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html#reset()">reset</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html#setDisabled(boolean)">setDisabled</A></B>(boolean disabled)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getMinPoolSize()"><!-- --></A><H3>
+getMinPoolSize</H3>
+<PRE>
+int <B>getMinPoolSize</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMaxPoolSize()"><!-- --></A><H3>
+getMaxPoolSize</H3>
+<PRE>
+int <B>getMaxPoolSize</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInPoolSize()"><!-- --></A><H3>
+getInPoolSize</H3>
+<PRE>
+long <B>getInPoolSize</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTotalPoolSize()"><!-- --></A><H3>
+getTotalPoolSize</H3>
+<PRE>
+long <B>getTotalPoolSize</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isFailed()"><!-- --></A><H3>
+isFailed</H3>
+<PRE>
+boolean <B>isFailed</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="reset()"><!-- --></A><H3>
+reset</H3>
+<PRE>
+void <B>reset</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isDisabled()"><!-- --></A><H3>
+isDisabled</H3>
+<PRE>
+boolean <B>isDisabled</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDisabled(boolean)"><!-- --></A><H3>
+setDisabled</H3>
+<PRE>
+void <B>setDisabled</B>(boolean disabled)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PoolingDataSourceMBean.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PoolingDataSourceMBean.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/class-use/BaseProxyHandlerClass.html b/doc/api/bitronix/tm/resource/jdbc/class-use/BaseProxyHandlerClass.html
new file mode 100644
index 0000000..348f6f1
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/class-use/BaseProxyHandlerClass.html
@@ -0,0 +1,252 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.jdbc.BaseProxyHandlerClass (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.jdbc.BaseProxyHandlerClass (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc//class-useBaseProxyHandlerClass.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BaseProxyHandlerClass.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.jdbc.BaseProxyHandlerClass</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">BaseProxyHandlerClass</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jdbc"><B>bitronix.tm.resource.jdbc</B></A></TD>
+<TD>
+ JDBC specific resource management code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jdbc.lrc"><B>bitronix.tm.resource.jdbc.lrc</B></A></TD>
+<TD>
+ XADataSource emulator using Last Resource Commit on an underlying non-XA DataSource. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jdbc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">BaseProxyHandlerClass</A> in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">BaseProxyHandlerClass</A> in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcCallableStatementHandle</A></B></CODE>
+
+<BR>
+ CallableStatement <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html?is-external=true" title="class or interface in java.sql"><CODE>Statement</CODE></A> wrapper.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A></B></CODE>
+
+<BR>
+ Disposable Connection handle.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A></B></CODE>
+
+<BR>
+ Caching <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql"><CODE>PreparedStatement</CODE></A> wrapper.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcStatementHandle</A></B></CODE>
+
+<BR>
+ Statement <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html?is-external=true" title="class or interface in java.sql"><CODE>Statement</CODE></A> wrapper.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcUncachedPreparedStatementHandle</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jdbc.lrc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">BaseProxyHandlerClass</A> in <A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/package-summary.html">bitronix.tm.resource.jdbc.lrc</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">BaseProxyHandlerClass</A> in <A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/package-summary.html">bitronix.tm.resource.jdbc.lrc</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcConnectionHandle</A></B></CODE>
+
+<BR>
+ Connection handle implementation for a non-XA JDBC resource emulating XA with Last Resource Commit.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAConnection</A></B></CODE>
+
+<BR>
+ XAConnection implementation for a non-XA JDBC resource emulating XA with Last Resource Commit.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc//class-useBaseProxyHandlerClass.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BaseProxyHandlerClass.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/class-use/ConnectionCustomizer.html b/doc/api/bitronix/tm/resource/jdbc/class-use/ConnectionCustomizer.html
new file mode 100644
index 0000000..99ea329
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/class-use/ConnectionCustomizer.html
@@ -0,0 +1,190 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Interface bitronix.tm.resource.jdbc.ConnectionCustomizer (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface bitronix.tm.resource.jdbc.ConnectionCustomizer (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jdbc/ConnectionCustomizer.html" title="interface in bitronix.tm.resource.jdbc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc//class-useConnectionCustomizer.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ConnectionCustomizer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>bitronix.tm.resource.jdbc.ConnectionCustomizer</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../bitronix/tm/resource/jdbc/ConnectionCustomizer.html" title="interface in bitronix.tm.resource.jdbc">ConnectionCustomizer</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jdbc"><B>bitronix.tm.resource.jdbc</B></A></TD>
+<TD>
+ JDBC specific resource management code. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jdbc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/jdbc/ConnectionCustomizer.html" title="interface in bitronix.tm.resource.jdbc">ConnectionCustomizer</A> in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A> with parameters of type <A HREF="../../../../../bitronix/tm/resource/jdbc/ConnectionCustomizer.html" title="interface in bitronix.tm.resource.jdbc">ConnectionCustomizer</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>PoolingDataSource.</B><B><A HREF="../../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#addConnectionCustomizer(bitronix.tm.resource.jdbc.ConnectionCustomizer)">addConnectionCustomizer</A></B>(<A HREF="../../../../../bitronix/tm/resource/jdbc/ConnectionCustomizer.html" title="interface in bitronix.tm.resource.jdbc">ConnectionCustomizer</A> connectionCustomizer)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>PoolingDataSource.</B><B><A HREF="../../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html#removeConnectionCustomizer(bitronix.tm.resource.jdbc.ConnectionCustomizer)">removeConnectionCustomizer</A></B>(<A HREF="../../../../../bitronix/tm/resource/jdbc/ConnectionCustomizer.html" title="interface in bitronix.tm.resource.jdbc">ConnectionCustomizer</A> connectionCustomizer)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jdbc/ConnectionCustomizer.html" title="interface in bitronix.tm.resource.jdbc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc//class-useConnectionCustomizer.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ConnectionCustomizer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/class-use/JdbcCallableStatementHandle.html b/doc/api/bitronix/tm/resource/jdbc/class-use/JdbcCallableStatementHandle.html
new file mode 100644
index 0000000..8c5ee6c
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/class-use/JdbcCallableStatementHandle.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.jdbc.JdbcCallableStatementHandle (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.jdbc.JdbcCallableStatementHandle (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html" title="class in bitronix.tm.resource.jdbc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc//class-useJdbcCallableStatementHandle.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JdbcCallableStatementHandle.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.jdbc.JdbcCallableStatementHandle</B></H2>
+</CENTER>
+No usage of bitronix.tm.resource.jdbc.JdbcCallableStatementHandle
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html" title="class in bitronix.tm.resource.jdbc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc//class-useJdbcCallableStatementHandle.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JdbcCallableStatementHandle.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/class-use/JdbcConnectionHandle.html b/doc/api/bitronix/tm/resource/jdbc/class-use/JdbcConnectionHandle.html
new file mode 100644
index 0000000..2d235aa
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/class-use/JdbcConnectionHandle.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.jdbc.JdbcConnectionHandle (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.jdbc.JdbcConnectionHandle (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc//class-useJdbcConnectionHandle.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JdbcConnectionHandle.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.jdbc.JdbcConnectionHandle</B></H2>
+</CENTER>
+No usage of bitronix.tm.resource.jdbc.JdbcConnectionHandle
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc//class-useJdbcConnectionHandle.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JdbcConnectionHandle.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/class-use/JdbcPooledConnection.html b/doc/api/bitronix/tm/resource/jdbc/class-use/JdbcPooledConnection.html
new file mode 100644
index 0000000..d724567
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/class-use/JdbcPooledConnection.html
@@ -0,0 +1,242 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.jdbc.JdbcPooledConnection (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.jdbc.JdbcPooledConnection (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc//class-useJdbcPooledConnection.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JdbcPooledConnection.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.jdbc.JdbcPooledConnection</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jdbc"><B>bitronix.tm.resource.jdbc</B></A></TD>
+<TD>
+ JDBC specific resource management code. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jdbc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A> in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A> that return <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A></CODE></FONT></TD>
+<TD><CODE><B>JdbcPreparedStatementHandle.</B><B><A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#getPooledConnection()">getPooledConnection</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A></CODE></FONT></TD>
+<TD><CODE><B>JdbcConnectionHandle.</B><B><A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#getPooledConnection()">getPooledConnection</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A> with parameters of type <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B>JdbcPreparedStatementHandle.</B><B><A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#setPooledConnection(bitronix.tm.resource.jdbc.JdbcPooledConnection)">setPooledConnection</A></B>(<A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A> pooledConnection)</CODE>
+
+<BR>
+ Set the parent connection that created this statement.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A> with parameters of type <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html#JdbcCallableStatementHandle(java.sql.CallableStatement, bitronix.tm.resource.jdbc.JdbcPooledConnection)">JdbcCallableStatementHandle</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/CallableStatement.html?is-external=true" title="class or interface in java.sql">CallableStatement</A> delegate,
+ <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A> pooledConnection)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#JdbcConnectionHandle(bitronix.tm.resource.jdbc.JdbcPooledConnection, java.sql.Connection)">JdbcConnectionHandle</A></B>(<A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A> jdbcPooledConnection,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A> connection)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcStatementHandle.html#JdbcStatementHandle(java.sql.Statement, bitronix.tm.resource.jdbc.JdbcPooledConnection)">JdbcStatementHandle</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html?is-external=true" title="class or interface in java.sql">Statement</A> delegate,
+ <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A> pooledConnection)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html#JdbcUncachedPreparedStatementHandle(java.sql.PreparedStatement, bitronix.tm.resource.jdbc.JdbcPooledConnection)">JdbcUncachedPreparedStatementHandle</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql">PreparedStatement</A> delegate,
+ <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A> pooledConnection)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc//class-useJdbcPooledConnection.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JdbcPooledConnection.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/class-use/JdbcPooledConnectionMBean.html b/doc/api/bitronix/tm/resource/jdbc/class-use/JdbcPooledConnectionMBean.html
new file mode 100644
index 0000000..b9fade4
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/class-use/JdbcPooledConnectionMBean.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Interface bitronix.tm.resource.jdbc.JdbcPooledConnectionMBean (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface bitronix.tm.resource.jdbc.JdbcPooledConnectionMBean (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jdbc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc//class-useJdbcPooledConnectionMBean.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JdbcPooledConnectionMBean.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>bitronix.tm.resource.jdbc.JdbcPooledConnectionMBean</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jdbc">JdbcPooledConnectionMBean</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jdbc"><B>bitronix.tm.resource.jdbc</B></A></TD>
+<TD>
+ JDBC specific resource management code. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jdbc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jdbc">JdbcPooledConnectionMBean</A> in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A> that implement <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jdbc">JdbcPooledConnectionMBean</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A></B></CODE>
+
+<BR>
+ Implementation of a JDBC pooled connection wrapping vendor's <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/XAConnection.html?is-external=true" title="class or interface in javax.sql"><CODE>XAConnection</CODE></A> implementation.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jdbc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc//class-useJdbcPooledConnectionMBean.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JdbcPooledConnectionMBean.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/class-use/JdbcPreparedStatementHandle.html b/doc/api/bitronix/tm/resource/jdbc/class-use/JdbcPreparedStatementHandle.html
new file mode 100644
index 0000000..84a1e80
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/class-use/JdbcPreparedStatementHandle.html
@@ -0,0 +1,248 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.jdbc.JdbcPreparedStatementHandle (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.jdbc.JdbcPreparedStatementHandle (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc//class-useJdbcPreparedStatementHandle.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JdbcPreparedStatementHandle.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.jdbc.JdbcPreparedStatementHandle</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jdbc"><B>bitronix.tm.resource.jdbc</B></A></TD>
+<TD>
+ JDBC specific resource management code. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jdbc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A> in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A> that return <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A></CODE></FONT></TD>
+<TD><CODE><B>LruStatementCache.</B><B><A HREF="../../../../../bitronix/tm/resource/jdbc/LruStatementCache.html#get(bitronix.tm.resource.jdbc.JdbcPreparedStatementHandle)">get</A></B>(<A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A> key)</CODE>
+
+<BR>
+ The provided key is just a 'shell' JdbcPreparedStatementHandle, it comes
+ in with no actual 'delegate' PreparedStatement.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A></CODE></FONT></TD>
+<TD><CODE><B>JdbcPooledConnection.</B><B><A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html#getCachedStatement(bitronix.tm.resource.jdbc.JdbcPreparedStatementHandle)">getCachedStatement</A></B>(<A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A> stmt)</CODE>
+
+<BR>
+ Get a PreparedStatement from cache.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A></CODE></FONT></TD>
+<TD><CODE><B>LruStatementCache.</B><B><A HREF="../../../../../bitronix/tm/resource/jdbc/LruStatementCache.html#put(bitronix.tm.resource.jdbc.JdbcPreparedStatementHandle)">put</A></B>(<A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A> key)</CODE>
+
+<BR>
+ A statement is put into the cache.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A></CODE></FONT></TD>
+<TD><CODE><B>JdbcPooledConnection.</B><B><A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html#putCachedStatement(bitronix.tm.resource.jdbc.JdbcPreparedStatementHandle)">putCachedStatement</A></B>(<A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A> stmt)</CODE>
+
+<BR>
+ Put a PreparedStatement in the cache.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A> with parameters of type <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A></CODE></FONT></TD>
+<TD><CODE><B>LruStatementCache.</B><B><A HREF="../../../../../bitronix/tm/resource/jdbc/LruStatementCache.html#get(bitronix.tm.resource.jdbc.JdbcPreparedStatementHandle)">get</A></B>(<A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A> key)</CODE>
+
+<BR>
+ The provided key is just a 'shell' JdbcPreparedStatementHandle, it comes
+ in with no actual 'delegate' PreparedStatement.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A></CODE></FONT></TD>
+<TD><CODE><B>JdbcPooledConnection.</B><B><A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html#getCachedStatement(bitronix.tm.resource.jdbc.JdbcPreparedStatementHandle)">getCachedStatement</A></B>(<A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A> stmt)</CODE>
+
+<BR>
+ Get a PreparedStatement from cache.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A></CODE></FONT></TD>
+<TD><CODE><B>LruStatementCache.</B><B><A HREF="../../../../../bitronix/tm/resource/jdbc/LruStatementCache.html#put(bitronix.tm.resource.jdbc.JdbcPreparedStatementHandle)">put</A></B>(<A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A> key)</CODE>
+
+<BR>
+ A statement is put into the cache.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A></CODE></FONT></TD>
+<TD><CODE><B>JdbcPooledConnection.</B><B><A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html#putCachedStatement(bitronix.tm.resource.jdbc.JdbcPreparedStatementHandle)">putCachedStatement</A></B>(<A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A> stmt)</CODE>
+
+<BR>
+ Put a PreparedStatement in the cache.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc//class-useJdbcPreparedStatementHandle.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JdbcPreparedStatementHandle.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/class-use/JdbcStatementHandle.html b/doc/api/bitronix/tm/resource/jdbc/class-use/JdbcStatementHandle.html
new file mode 100644
index 0000000..bf8dc0a
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/class-use/JdbcStatementHandle.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.jdbc.JdbcStatementHandle (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.jdbc.JdbcStatementHandle (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcStatementHandle.html" title="class in bitronix.tm.resource.jdbc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc//class-useJdbcStatementHandle.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JdbcStatementHandle.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.jdbc.JdbcStatementHandle</B></H2>
+</CENTER>
+No usage of bitronix.tm.resource.jdbc.JdbcStatementHandle
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcStatementHandle.html" title="class in bitronix.tm.resource.jdbc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc//class-useJdbcStatementHandle.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JdbcStatementHandle.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/class-use/JdbcUncachedPreparedStatementHandle.html b/doc/api/bitronix/tm/resource/jdbc/class-use/JdbcUncachedPreparedStatementHandle.html
new file mode 100644
index 0000000..e67c45e
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/class-use/JdbcUncachedPreparedStatementHandle.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.jdbc.JdbcUncachedPreparedStatementHandle (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.jdbc.JdbcUncachedPreparedStatementHandle (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc//class-useJdbcUncachedPreparedStatementHandle.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JdbcUncachedPreparedStatementHandle.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.jdbc.JdbcUncachedPreparedStatementHandle</B></H2>
+</CENTER>
+No usage of bitronix.tm.resource.jdbc.JdbcUncachedPreparedStatementHandle
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc//class-useJdbcUncachedPreparedStatementHandle.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JdbcUncachedPreparedStatementHandle.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/class-use/LruEvictionListener.html b/doc/api/bitronix/tm/resource/jdbc/class-use/LruEvictionListener.html
new file mode 100644
index 0000000..874ff66
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/class-use/LruEvictionListener.html
@@ -0,0 +1,190 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Interface bitronix.tm.resource.jdbc.LruEvictionListener (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface bitronix.tm.resource.jdbc.LruEvictionListener (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jdbc/LruEvictionListener.html" title="interface in bitronix.tm.resource.jdbc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc//class-useLruEvictionListener.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LruEvictionListener.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>bitronix.tm.resource.jdbc.LruEvictionListener</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../bitronix/tm/resource/jdbc/LruEvictionListener.html" title="interface in bitronix.tm.resource.jdbc">LruEvictionListener</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jdbc"><B>bitronix.tm.resource.jdbc</B></A></TD>
+<TD>
+ JDBC specific resource management code. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jdbc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/jdbc/LruEvictionListener.html" title="interface in bitronix.tm.resource.jdbc">LruEvictionListener</A> in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A> with parameters of type <A HREF="../../../../../bitronix/tm/resource/jdbc/LruEvictionListener.html" title="interface in bitronix.tm.resource.jdbc">LruEvictionListener</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>LruStatementCache.</B><B><A HREF="../../../../../bitronix/tm/resource/jdbc/LruStatementCache.html#addEvictionListener(bitronix.tm.resource.jdbc.LruEvictionListener)">addEvictionListener</A></B>(<A HREF="../../../../../bitronix/tm/resource/jdbc/LruEvictionListener.html" title="interface in bitronix.tm.resource.jdbc">LruEvictionListener</A> listener)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>LruStatementCache.</B><B><A HREF="../../../../../bitronix/tm/resource/jdbc/LruStatementCache.html#removeEvictionListener(bitronix.tm.resource.jdbc.LruEvictionListener)">removeEvictionListener</A></B>(<A HREF="../../../../../bitronix/tm/resource/jdbc/LruEvictionListener.html" title="interface in bitronix.tm.resource.jdbc">LruEvictionListener</A> listener)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jdbc/LruEvictionListener.html" title="interface in bitronix.tm.resource.jdbc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc//class-useLruEvictionListener.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LruEvictionListener.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/class-use/LruStatementCache.html b/doc/api/bitronix/tm/resource/jdbc/class-use/LruStatementCache.html
new file mode 100644
index 0000000..d61eb44
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/class-use/LruStatementCache.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.jdbc.LruStatementCache (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.jdbc.LruStatementCache (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jdbc/LruStatementCache.html" title="class in bitronix.tm.resource.jdbc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc//class-useLruStatementCache.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LruStatementCache.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.jdbc.LruStatementCache</B></H2>
+</CENTER>
+No usage of bitronix.tm.resource.jdbc.LruStatementCache
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jdbc/LruStatementCache.html" title="class in bitronix.tm.resource.jdbc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc//class-useLruStatementCache.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LruStatementCache.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/class-use/PoolingDataSource.html b/doc/api/bitronix/tm/resource/jdbc/class-use/PoolingDataSource.html
new file mode 100644
index 0000000..a7097ca
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/class-use/PoolingDataSource.html
@@ -0,0 +1,197 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.jdbc.PoolingDataSource (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.jdbc.PoolingDataSource (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc//class-usePoolingDataSource.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PoolingDataSource.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.jdbc.PoolingDataSource</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jdbc"><B>bitronix.tm.resource.jdbc</B></A></TD>
+<TD>
+ JDBC specific resource management code. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jdbc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A> in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A> that return <A HREF="../../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A></CODE></FONT></TD>
+<TD><CODE><B>JdbcPooledConnection.</B><B><A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html#getPoolingDataSource()">getPoolingDataSource</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A> with parameters of type <A HREF="../../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html#JdbcPooledConnection(bitronix.tm.resource.jdbc.PoolingDataSource, javax.sql.XAConnection)">JdbcPooledConnection</A></B>(<A HREF="../../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A> poolingDataSource,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/XAConnection.html?is-external=true" title="class or interface in javax.sql">XAConnection</A> xaConnection)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc//class-usePoolingDataSource.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PoolingDataSource.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/class-use/PoolingDataSourceMBean.html b/doc/api/bitronix/tm/resource/jdbc/class-use/PoolingDataSourceMBean.html
new file mode 100644
index 0000000..241a3c9
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/class-use/PoolingDataSourceMBean.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Interface bitronix.tm.resource.jdbc.PoolingDataSourceMBean (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface bitronix.tm.resource.jdbc.PoolingDataSourceMBean (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html" title="interface in bitronix.tm.resource.jdbc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc//class-usePoolingDataSourceMBean.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PoolingDataSourceMBean.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>bitronix.tm.resource.jdbc.PoolingDataSourceMBean</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html" title="interface in bitronix.tm.resource.jdbc">PoolingDataSourceMBean</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jdbc"><B>bitronix.tm.resource.jdbc</B></A></TD>
+<TD>
+ JDBC specific resource management code. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jdbc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html" title="interface in bitronix.tm.resource.jdbc">PoolingDataSourceMBean</A> in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A> that implement <A HREF="../../../../../bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html" title="interface in bitronix.tm.resource.jdbc">PoolingDataSourceMBean</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A></B></CODE>
+
+<BR>
+ Implementation of a JDBC <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql"><CODE>DataSource</CODE></A> wrapping vendor's <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/XADataSource.html?is-external=true" title="class or interface in javax.sql"><CODE>XADataSource</CODE></A> implementation.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html" title="interface in bitronix.tm.resource.jdbc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc//class-usePoolingDataSourceMBean.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PoolingDataSourceMBean.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html b/doc/api/bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html
new file mode 100644
index 0000000..25e26c1
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html
@@ -0,0 +1,461 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:04 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+LrcConnectionHandle (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="LrcConnectionHandle (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LrcConnectionHandle.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jdbc.lrc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcConnectionHandle.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jdbc.lrc</FONT>
+<BR>
+Class LrcConnectionHandle</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">bitronix.tm.resource.jdbc.BaseProxyHandlerClass</A>
+ <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.jdbc.lrc.LrcConnectionHandle</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/InvocationHandler.html?is-external=true" title="class or interface in java.lang.reflect">InvocationHandler</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>LrcConnectionHandle</B><DT>extends <A HREF="../../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">BaseProxyHandlerClass</A></DL>
+</PRE>
+
+<P>
+Connection handle implementation for a non-XA JDBC resource emulating XA with Last Resource Commit.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban, brettw</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html#LrcConnectionHandle(bitronix.tm.resource.jdbc.lrc.LrcXAResource, java.sql.Connection)">LrcConnectionHandle</A></B>(<A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAResource</A> xaResource,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A> delegate)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html#close()">close</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html#commit()">commit</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html#getConnection()">getConnection</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html#getProxiedDelegate()">getProxiedDelegate</A></B>()</CODE>
+
+<BR>
+ Must be implemented by the sub-class of this class.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html#isClosed()">isClosed</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html#rollback()">rollback</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html#rollback(java.sql.Savepoint)">rollback</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Savepoint.html?is-external=true" title="class or interface in java.sql">Savepoint</A> savepoint)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html#setAutoCommit(boolean)">setAutoCommit</A></B>(boolean autoCommit)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.jdbc.BaseProxyHandlerClass"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class bitronix.tm.resource.jdbc.<A HREF="../../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">BaseProxyHandlerClass</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html#invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])">invoke</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="LrcConnectionHandle(bitronix.tm.resource.jdbc.lrc.LrcXAResource, java.sql.Connection)"><!-- --></A><H3>
+LrcConnectionHandle</H3>
+<PRE>
+public <B>LrcConnectionHandle</B>(<A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAResource</A> xaResource,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A> delegate)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getConnection()"><!-- --></A><H3>
+getConnection</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A> <B>getConnection</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public void <B>close</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isClosed()"><!-- --></A><H3>
+isClosed</H3>
+<PRE>
+public boolean <B>isClosed</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setAutoCommit(boolean)"><!-- --></A><H3>
+setAutoCommit</H3>
+<PRE>
+public void <B>setAutoCommit</B>(boolean autoCommit)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="commit()"><!-- --></A><H3>
+commit</H3>
+<PRE>
+public void <B>commit</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="rollback()"><!-- --></A><H3>
+rollback</H3>
+<PRE>
+public void <B>rollback</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="rollback(java.sql.Savepoint)"><!-- --></A><H3>
+rollback</H3>
+<PRE>
+public void <B>rollback</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Savepoint.html?is-external=true" title="class or interface in java.sql">Savepoint</A> savepoint)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getProxiedDelegate()"><!-- --></A><H3>
+getProxiedDelegate</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getProxiedDelegate</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><B>Description copied from class: <CODE><A HREF="../../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html#getProxiedDelegate()">BaseProxyHandlerClass</A></CODE></B></DD>
+<DD>Must be implemented by the sub-class of this class. This method
+ should return the "true" object to be delegated to in the case
+ that the method is not overridden by the sub-class.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html#getProxiedDelegate()">getProxiedDelegate</A></CODE> in class <CODE><A HREF="../../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">BaseProxyHandlerClass</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the true delegate object
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - can throw any exception if desired</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LrcConnectionHandle.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jdbc.lrc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcConnectionHandle.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html b/doc/api/bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html
new file mode 100644
index 0000000..0d21d6e
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html
@@ -0,0 +1,456 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:05 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+LrcXAConnection (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="LrcXAConnection (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LrcXAConnection.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc.lrc"><B>PREV CLASS</B></A>
+ <A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html" title="class in bitronix.tm.resource.jdbc.lrc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcXAConnection.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jdbc.lrc</FONT>
+<BR>
+Class LrcXAConnection</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">bitronix.tm.resource.jdbc.BaseProxyHandlerClass</A>
+ <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.jdbc.lrc.LrcXAConnection</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/InvocationHandler.html?is-external=true" title="class or interface in java.lang.reflect">InvocationHandler</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>LrcXAConnection</B><DT>extends <A HREF="../../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">BaseProxyHandlerClass</A></DL>
+</PRE>
+
+<P>
+XAConnection implementation for a non-XA JDBC resource emulating XA with Last Resource Commit.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban, brettw</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html#LrcXAConnection(java.sql.Connection)">LrcXAConnection</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A> connection)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html#addConnectionEventListener(javax.sql.ConnectionEventListener)">addConnectionEventListener</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/ConnectionEventListener.html?is-external=true" title="class or interface in javax.sql">ConnectionEventListener</A> listener)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html#close()">close</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html#equals(java.lang.Object)">equals</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> obj)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html#getConnection()">getConnection</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html#getProxiedDelegate()">getProxiedDelegate</A></B>()</CODE>
+
+<BR>
+ Must be implemented by the sub-class of this class.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html#getXAResource()">getXAResource</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html#hashCode()">hashCode</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html#removeConnectionEventListener(javax.sql.ConnectionEventListener)">removeConnectionEventListener</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/ConnectionEventListener.html?is-external=true" title="class or interface in javax.sql">ConnectionEventListener</A> listener)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.jdbc.BaseProxyHandlerClass"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class bitronix.tm.resource.jdbc.<A HREF="../../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">BaseProxyHandlerClass</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html#invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])">invoke</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.c [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="LrcXAConnection(java.sql.Connection)"><!-- --></A><H3>
+LrcXAConnection</H3>
+<PRE>
+public <B>LrcXAConnection</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A> connection)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getXAResource()"><!-- --></A><H3>
+getXAResource</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> <B>getXAResource</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public void <B>close</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getConnection()"><!-- --></A><H3>
+getConnection</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A> <B>getConnection</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="addConnectionEventListener(javax.sql.ConnectionEventListener)"><!-- --></A><H3>
+addConnectionEventListener</H3>
+<PRE>
+public void <B>addConnectionEventListener</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/ConnectionEventListener.html?is-external=true" title="class or interface in javax.sql">ConnectionEventListener</A> listener)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeConnectionEventListener(javax.sql.ConnectionEventListener)"><!-- --></A><H3>
+removeConnectionEventListener</H3>
+<PRE>
+public void <B>removeConnectionEventListener</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/ConnectionEventListener.html?is-external=true" title="class or interface in javax.sql">ConnectionEventListener</A> listener)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="equals(java.lang.Object)"><!-- --></A><H3>
+equals</H3>
+<PRE>
+public boolean <B>equals</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> obj)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hashCode()"><!-- --></A><H3>
+hashCode</H3>
+<PRE>
+public int <B>hashCode</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getProxiedDelegate()"><!-- --></A><H3>
+getProxiedDelegate</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getProxiedDelegate</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><B>Description copied from class: <CODE><A HREF="../../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html#getProxiedDelegate()">BaseProxyHandlerClass</A></CODE></B></DD>
+<DD>Must be implemented by the sub-class of this class. This method
+ should return the "true" object to be delegated to in the case
+ that the method is not overridden by the sub-class.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html#getProxiedDelegate()">getProxiedDelegate</A></CODE> in class <CODE><A HREF="../../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">BaseProxyHandlerClass</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the true delegate object
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - can throw any exception if desired</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LrcXAConnection.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc.lrc"><B>PREV CLASS</B></A>
+ <A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html" title="class in bitronix.tm.resource.jdbc.lrc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcXAConnection.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html b/doc/api/bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html
new file mode 100644
index 0000000..c3bb314
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html
@@ -0,0 +1,595 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:05 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+LrcXADataSource (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="LrcXADataSource (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LrcXADataSource.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jdbc.lrc"><B>PREV CLASS</B></A>
+ <A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcXADataSource.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jdbc.lrc</FONT>
+<BR>
+Class LrcXADataSource</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.jdbc.lrc.LrcXADataSource</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/CommonDataSource.html?is-external=true" title="class or interface in javax.sql">CommonDataSource</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/XADataSource.html?is-external=true" title="class or interface in javax.sql">XADataSource</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>LrcXADataSource</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/XADataSource.html?is-external=true" title="class or interface in javax.sql">XADataSource</A></DL>
+</PRE>
+
+<P>
+XADataSource implementation for a non-XA JDBC resource emulating XA with Last Resource Commit.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban, brettw</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#LrcXADataSource()">LrcXADataSource</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#getDriverClassName()">getDriverClassName</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#getLoginTimeout()">getLoginTimeout</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#getLogWriter()">getLogWriter</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#getPassword()">getPassword</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#getUrl()">getUrl</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#getUser()">getUser</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/XAConnection.html?is-external=true" title="class or interface in javax.sql">XAConnection</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#getXAConnection()">getXAConnection</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/XAConnection.html?is-external=true" title="class or interface in javax.sql">XAConnection</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#getXAConnection(java.lang.String, java.lang.String)">getXAConnection</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> user,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> password)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#setDriverClassName(java.lang.String)">setDriverClassName</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> driverClassName)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#setLoginTimeout(int)">setLoginTimeout</A></B>(int seconds)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#setLogWriter(java.io.PrintWriter)">setLogWriter</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</A> out)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#setPassword(java.lang.String)">setPassword</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> password)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#setUrl(java.lang.String)">setUrl</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> url)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#setUser(java.lang.String)">setUser</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> user)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="LrcXADataSource()"><!-- --></A><H3>
+LrcXADataSource</H3>
+<PRE>
+public <B>LrcXADataSource</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getLoginTimeout()"><!-- --></A><H3>
+getLoginTimeout</H3>
+<PRE>
+public int <B>getLoginTimeout</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/CommonDataSource.html?is-external=true#getLoginTimeout()" title="class or interface in javax.sql">getLoginTimeout</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/CommonDataSource.html?is-external=true" title="class or interface in javax.sql">CommonDataSource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setLoginTimeout(int)"><!-- --></A><H3>
+setLoginTimeout</H3>
+<PRE>
+public void <B>setLoginTimeout</B>(int seconds)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/CommonDataSource.html?is-external=true#setLoginTimeout(int)" title="class or interface in javax.sql">setLoginTimeout</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/CommonDataSource.html?is-external=true" title="class or interface in javax.sql">CommonDataSource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDriverClassName()"><!-- --></A><H3>
+getDriverClassName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getDriverClassName</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDriverClassName(java.lang.String)"><!-- --></A><H3>
+setDriverClassName</H3>
+<PRE>
+public void <B>setDriverClassName</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> driverClassName)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUrl()"><!-- --></A><H3>
+getUrl</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getUrl</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setUrl(java.lang.String)"><!-- --></A><H3>
+setUrl</H3>
+<PRE>
+public void <B>setUrl</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> url)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUser()"><!-- --></A><H3>
+getUser</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getUser</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setUser(java.lang.String)"><!-- --></A><H3>
+setUser</H3>
+<PRE>
+public void <B>setUser</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> user)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPassword()"><!-- --></A><H3>
+getPassword</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getPassword</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPassword(java.lang.String)"><!-- --></A><H3>
+setPassword</H3>
+<PRE>
+public void <B>setPassword</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> password)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLogWriter()"><!-- --></A><H3>
+getLogWriter</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</A> <B>getLogWriter</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/CommonDataSource.html?is-external=true#getLogWriter()" title="class or interface in javax.sql">getLogWriter</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/CommonDataSource.html?is-external=true" title="class or interface in javax.sql">CommonDataSource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setLogWriter(java.io.PrintWriter)"><!-- --></A><H3>
+setLogWriter</H3>
+<PRE>
+public void <B>setLogWriter</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/PrintWriter.html?is-external=true" title="class or interface in java.io">PrintWriter</A> out)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/CommonDataSource.html?is-external=true#setLogWriter(java.io.PrintWriter)" title="class or interface in javax.sql">setLogWriter</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/CommonDataSource.html?is-external=true" title="class or interface in javax.sql">CommonDataSource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXAConnection()"><!-- --></A><H3>
+getXAConnection</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/XAConnection.html?is-external=true" title="class or interface in javax.sql">XAConnection</A> <B>getXAConnection</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/XADataSource.html?is-external=true#getXAConnection()" title="class or interface in javax.sql">getXAConnection</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/XADataSource.html?is-external=true" title="class or interface in javax.sql">XADataSource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXAConnection(java.lang.String, java.lang.String)"><!-- --></A><H3>
+getXAConnection</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/XAConnection.html?is-external=true" title="class or interface in javax.sql">XAConnection</A> <B>getXAConnection</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> user,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> password)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/XADataSource.html?is-external=true#getXAConnection(java.lang.String, java.lang.String)" title="class or interface in javax.sql">getXAConnection</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/XADataSource.html?is-external=true" title="class or interface in javax.sql">XADataSource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/SQLException.html?is-external=true" title="class or interface in java.sql">SQLException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LrcXADataSource.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jdbc.lrc"><B>PREV CLASS</B></A>
+ <A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcXADataSource.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/lrc/LrcXAResource.html b/doc/api/bitronix/tm/resource/jdbc/lrc/LrcXAResource.html
new file mode 100644
index 0000000..2f4809c
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/lrc/LrcXAResource.html
@@ -0,0 +1,668 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:05 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+LrcXAResource (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="LrcXAResource (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LrcXAResource.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html" title="class in bitronix.tm.resource.jdbc.lrc"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcXAResource.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jdbc.lrc</FONT>
+<BR>
+Class LrcXAResource</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.jdbc.lrc.LrcXAResource</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>LrcXAResource</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></DL>
+</PRE>
+
+<P>
+XAResource implementation for a non-XA JDBC connection emulating XA with Last Resource Commit.
+ <p>The XA protocol flow is implemented by this state machine:</p>
+ <pre>
+ NO_TX
+ |
+ | start(TMNOFLAGS)
+ |
+ | end(TMFAIL)
+ STARTED -------------- NO_TX
+ |
+ | end(TMSUCCESS)
+ |
+ | start(TMJOIN)
+ ENDED ---------------- STARTED
+ |\
+ | \ commit (one phase)
+ | ----------------- NO_TX
+ |
+ | prepare()
+ |
+ | commit() or
+ | rollback()
+ PREPARED ------------- NO_TX
+ </pre>
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#TMSUSPEND" title="class or interface in javax.transaction.xa"><CODE>XAResource.TMSUSPEND</CODE></A> and <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#TMRESUME" title="class or interface in javax.transaction.xa"><CODE>XAResource.TMRESUME</CODE></A> are not supported.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#ENDED">ENDED</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#NO_TX">NO_TX</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#PREPARED">PREPARED</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#STARTED">STARTED</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_javax.transaction.xa.XAResource"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface javax.transaction.xa.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#TMENDRSCAN" title="class or interface in javax.transaction.xa">TMENDRSCAN</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#TMFAIL" title="class or interface in javax.transaction.xa">TMFAIL</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#TMJOIN" title="class or [...]
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#LrcXAResource(java.sql.Connection)">LrcXAResource</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A> connection)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#commit(javax.transaction.xa.Xid, boolean)">commit</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid,
+ boolean onePhase)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#end(javax.transaction.xa.Xid, int)">end</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid,
+ int flag)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#forget(javax.transaction.xa.Xid)">forget</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#getState()">getState</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#getTransactionTimeout()">getTransactionTimeout</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#isSameRM(javax.transaction.xa.XAResource)">isSameRM</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#prepare(javax.transaction.xa.Xid)">prepare</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#recover(int)">recover</A></B>(int flags)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#rollback(javax.transaction.xa.Xid)">rollback</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#setTransactionTimeout(int)">setTransactionTimeout</A></B>(int seconds)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#start(javax.transaction.xa.Xid, int)">start</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid,
+ int flag)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="NO_TX"><!-- --></A><H3>
+NO_TX</H3>
+<PRE>
+public static final int <B>NO_TX</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#bitronix.tm.resource.jdbc.lrc.LrcXAResource.NO_TX">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="STARTED"><!-- --></A><H3>
+STARTED</H3>
+<PRE>
+public static final int <B>STARTED</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#bitronix.tm.resource.jdbc.lrc.LrcXAResource.STARTED">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="ENDED"><!-- --></A><H3>
+ENDED</H3>
+<PRE>
+public static final int <B>ENDED</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#bitronix.tm.resource.jdbc.lrc.LrcXAResource.ENDED">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="PREPARED"><!-- --></A><H3>
+PREPARED</H3>
+<PRE>
+public static final int <B>PREPARED</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#bitronix.tm.resource.jdbc.lrc.LrcXAResource.PREPARED">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="LrcXAResource(java.sql.Connection)"><!-- --></A><H3>
+LrcXAResource</H3>
+<PRE>
+public <B>LrcXAResource</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A> connection)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getState()"><!-- --></A><H3>
+getState</H3>
+<PRE>
+public int <B>getState</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTransactionTimeout()"><!-- --></A><H3>
+getTransactionTimeout</H3>
+<PRE>
+public int <B>getTransactionTimeout</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#getTransactionTimeout()" title="class or interface in javax.transaction.xa">getTransactionTimeout</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setTransactionTimeout(int)"><!-- --></A><H3>
+setTransactionTimeout</H3>
+<PRE>
+public boolean <B>setTransactionTimeout</B>(int seconds)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#setTransactionTimeout(int)" title="class or interface in javax.transaction.xa">setTransactionTimeout</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="forget(javax.transaction.xa.Xid)"><!-- --></A><H3>
+forget</H3>
+<PRE>
+public void <B>forget</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#forget(javax.transaction.xa.Xid)" title="class or interface in javax.transaction.xa">forget</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="recover(int)"><!-- --></A><H3>
+recover</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A>[] <B>recover</B>(int flags)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#recover(int)" title="class or interface in javax.transaction.xa">recover</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isSameRM(javax.transaction.xa.XAResource)"><!-- --></A><H3>
+isSameRM</H3>
+<PRE>
+public boolean <B>isSameRM</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#isSameRM(javax.transaction.xa.XAResource)" title="class or interface in javax.transaction.xa">isSameRM</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="start(javax.transaction.xa.Xid, int)"><!-- --></A><H3>
+start</H3>
+<PRE>
+public void <B>start</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid,
+ int flag)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#start(javax.transaction.xa.Xid, int)" title="class or interface in javax.transaction.xa">start</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="end(javax.transaction.xa.Xid, int)"><!-- --></A><H3>
+end</H3>
+<PRE>
+public void <B>end</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid,
+ int flag)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#end(javax.transaction.xa.Xid, int)" title="class or interface in javax.transaction.xa">end</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="prepare(javax.transaction.xa.Xid)"><!-- --></A><H3>
+prepare</H3>
+<PRE>
+public int <B>prepare</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#prepare(javax.transaction.xa.Xid)" title="class or interface in javax.transaction.xa">prepare</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="commit(javax.transaction.xa.Xid, boolean)"><!-- --></A><H3>
+commit</H3>
+<PRE>
+public void <B>commit</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid,
+ boolean onePhase)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#commit(javax.transaction.xa.Xid, boolean)" title="class or interface in javax.transaction.xa">commit</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="rollback(javax.transaction.xa.Xid)"><!-- --></A><H3>
+rollback</H3>
+<PRE>
+public void <B>rollback</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#rollback(javax.transaction.xa.Xid)" title="class or interface in javax.transaction.xa">rollback</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LrcXAResource.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html" title="class in bitronix.tm.resource.jdbc.lrc"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcXAResource.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/lrc/class-use/LrcConnectionHandle.html b/doc/api/bitronix/tm/resource/jdbc/lrc/class-use/LrcConnectionHandle.html
new file mode 100644
index 0000000..6ab708b
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/lrc/class-use/LrcConnectionHandle.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.jdbc.lrc.LrcConnectionHandle (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.jdbc.lrc.LrcConnectionHandle (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc.lrc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../../index.html?bitronix/tm/resource/jdbc/lrc//class-useLrcConnectionHandle.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcConnectionHandle.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.jdbc.lrc.LrcConnectionHandle</B></H2>
+</CENTER>
+No usage of bitronix.tm.resource.jdbc.lrc.LrcConnectionHandle
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc.lrc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../../index.html?bitronix/tm/resource/jdbc/lrc//class-useLrcConnectionHandle.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcConnectionHandle.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/lrc/class-use/LrcXAConnection.html b/doc/api/bitronix/tm/resource/jdbc/lrc/class-use/LrcXAConnection.html
new file mode 100644
index 0000000..ae9b949
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/lrc/class-use/LrcXAConnection.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.jdbc.lrc.LrcXAConnection (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.jdbc.lrc.LrcXAConnection (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jdbc.lrc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../../index.html?bitronix/tm/resource/jdbc/lrc//class-useLrcXAConnection.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcXAConnection.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.jdbc.lrc.LrcXAConnection</B></H2>
+</CENTER>
+No usage of bitronix.tm.resource.jdbc.lrc.LrcXAConnection
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jdbc.lrc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../../index.html?bitronix/tm/resource/jdbc/lrc//class-useLrcXAConnection.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcXAConnection.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/lrc/class-use/LrcXADataSource.html b/doc/api/bitronix/tm/resource/jdbc/lrc/class-use/LrcXADataSource.html
new file mode 100644
index 0000000..3d8db1e
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/lrc/class-use/LrcXADataSource.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.jdbc.lrc.LrcXADataSource (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.jdbc.lrc.LrcXADataSource (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html" title="class in bitronix.tm.resource.jdbc.lrc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../../index.html?bitronix/tm/resource/jdbc/lrc//class-useLrcXADataSource.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcXADataSource.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.jdbc.lrc.LrcXADataSource</B></H2>
+</CENTER>
+No usage of bitronix.tm.resource.jdbc.lrc.LrcXADataSource
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html" title="class in bitronix.tm.resource.jdbc.lrc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../../index.html?bitronix/tm/resource/jdbc/lrc//class-useLrcXADataSource.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcXADataSource.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/lrc/class-use/LrcXAResource.html b/doc/api/bitronix/tm/resource/jdbc/lrc/class-use/LrcXAResource.html
new file mode 100644
index 0000000..4f813fd
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/lrc/class-use/LrcXAResource.html
@@ -0,0 +1,181 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.jdbc.lrc.LrcXAResource (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.jdbc.lrc.LrcXAResource (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../../index.html?bitronix/tm/resource/jdbc/lrc//class-useLrcXAResource.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcXAResource.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.jdbc.lrc.LrcXAResource</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAResource</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jdbc.lrc"><B>bitronix.tm.resource.jdbc.lrc</B></A></TD>
+<TD>
+ XADataSource emulator using Last Resource Commit on an underlying non-XA DataSource. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jdbc.lrc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAResource</A> in <A HREF="../../../../../../bitronix/tm/resource/jdbc/lrc/package-summary.html">bitronix.tm.resource.jdbc.lrc</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../../bitronix/tm/resource/jdbc/lrc/package-summary.html">bitronix.tm.resource.jdbc.lrc</A> with parameters of type <A HREF="../../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAResource</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../../bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html#LrcConnectionHandle(bitronix.tm.resource.jdbc.lrc.LrcXAResource, java.sql.Connection)">LrcConnectionHandle</A></B>(<A HREF="../../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAResource</A> xaResource,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Connection.html?is-external=true" title="class or interface in java.sql">Connection</A> delegate)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../../index.html?bitronix/tm/resource/jdbc/lrc//class-useLrcXAResource.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcXAResource.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/lrc/package-frame.html b/doc/api/bitronix/tm/resource/jdbc/lrc/package-frame.html
new file mode 100644
index 0000000..da94be7
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/lrc/package-frame.html
@@ -0,0 +1,39 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.resource.jdbc.lrc (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/package-summary.html" target="classFrame">bitronix.tm.resource.jdbc.lrc</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="LrcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc.lrc" target="classFrame">LrcConnectionHandle</A>
+<BR>
+<A HREF="LrcXAConnection.html" title="class in bitronix.tm.resource.jdbc.lrc" target="classFrame">LrcXAConnection</A>
+<BR>
+<A HREF="LrcXADataSource.html" title="class in bitronix.tm.resource.jdbc.lrc" target="classFrame">LrcXADataSource</A>
+<BR>
+<A HREF="LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc" target="classFrame">LrcXAResource</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/lrc/package-summary.html b/doc/api/bitronix/tm/resource/jdbc/lrc/package-summary.html
new file mode 100644
index 0000000..5908f3b
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/lrc/package-summary.html
@@ -0,0 +1,191 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.resource.jdbc.lrc (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.resource.jdbc.lrc (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html"><B>PREV PACKAGE</B></A>
+ <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc/lrc/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package bitronix.tm.resource.jdbc.lrc
+</H2>
+
+ XADataSource emulator using Last Resource Commit on an underlying non-XA DataSource.
+<P>
+<B>See:</B>
+<BR>
+ <A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcConnectionHandle</A></B></TD>
+<TD>Connection handle implementation for a non-XA JDBC resource emulating XA with Last Resource Commit.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAConnection</A></B></TD>
+<TD>XAConnection implementation for a non-XA JDBC resource emulating XA with Last Resource Commit.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXADataSource</A></B></TD>
+<TD>XADataSource implementation for a non-XA JDBC resource emulating XA with Last Resource Commit.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAResource</A></B></TD>
+<TD>XAResource implementation for a non-XA JDBC connection emulating XA with Last Resource Commit.</TD>
+</TR>
+</TABLE>
+
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package bitronix.tm.resource.jdbc.lrc Description
+</H2>
+
+<P>
+<p>
+ XADataSource emulator using Last Resource Commit on an underlying non-XA DataSource.
+ Note that if you use the classes of this package you have accepted the heuristic hazard. A crash
+ during commit of a connection returned by this datasource could lead to an inconsistent global state.
+ This is a limitation of the Last Resource Commit technique, not of BTM.
+ </p>
+<P>
+
+<P>
+<DL>
+</DL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../bitronix/tm/resource/jdbc/package-summary.html"><B>PREV PACKAGE</B></A>
+ <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc/lrc/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/lrc/package-tree.html b/doc/api/bitronix/tm/resource/jdbc/lrc/package-tree.html
new file mode 100644
index 0000000..53f6fad
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/lrc/package-tree.html
@@ -0,0 +1,159 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.resource.jdbc.lrc Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.resource.jdbc.lrc Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../bitronix/tm/resource/jdbc/package-tree.html"><B>PREV</B></A>
+ <A HREF="../../../../../bitronix/tm/resource/jms/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc/lrc/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package bitronix.tm.resource.jdbc.lrc
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">bitronix.tm.resource.jdbc.<A HREF="../../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc"><B>BaseProxyHandlerClass</B></A> (implements java.lang.reflect.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/InvocationHandler.html?is-external=true" title="class or interface in java.lang.reflect">InvocationHandler</A>)
+<UL>
+<LI TYPE="circle">bitronix.tm.resource.jdbc.lrc.<A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc.lrc"><B>LrcConnectionHandle</B></A><LI TYPE="circle">bitronix.tm.resource.jdbc.lrc.<A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jdbc.lrc"><B>LrcXAConnection</B></A></UL>
+<LI TYPE="circle">bitronix.tm.resource.jdbc.lrc.<A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html" title="class in bitronix.tm.resource.jdbc.lrc"><B>LrcXADataSource</B></A> (implements javax.sql.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/XADataSource.html?is-external=true" title="class or interface in javax.sql">XADataSource</A>)
+<LI TYPE="circle">bitronix.tm.resource.jdbc.lrc.<A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc"><B>LrcXAResource</B></A> (implements javax.transaction.xa.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A>)
+</UL>
+</UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../bitronix/tm/resource/jdbc/package-tree.html"><B>PREV</B></A>
+ <A HREF="../../../../../bitronix/tm/resource/jms/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc/lrc/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/lrc/package-use.html b/doc/api/bitronix/tm/resource/jdbc/lrc/package-use.html
new file mode 100644
index 0000000..ec06ae0
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/lrc/package-use.html
@@ -0,0 +1,172 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Package bitronix.tm.resource.jdbc.lrc (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Package bitronix.tm.resource.jdbc.lrc (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc/lrc/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>bitronix.tm.resource.jdbc.lrc</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/package-summary.html">bitronix.tm.resource.jdbc.lrc</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jdbc.lrc"><B>bitronix.tm.resource.jdbc.lrc</B></A></TD>
+<TD>
+ XADataSource emulator using Last Resource Commit on an underlying non-XA DataSource. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jdbc.lrc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/package-summary.html">bitronix.tm.resource.jdbc.lrc</A> used by <A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/package-summary.html">bitronix.tm.resource.jdbc.lrc</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../../bitronix/tm/resource/jdbc/lrc/class-use/LrcXAResource.html#bitronix.tm.resource.jdbc.lrc"><B>LrcXAResource</B></A></B>
+
+<BR>
+ XAResource implementation for a non-XA JDBC connection emulating XA with Last Resource Commit.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jdbc/lrc/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/package-frame.html b/doc/api/bitronix/tm/resource/jdbc/package-frame.html
new file mode 100644
index 0000000..bef9ccf
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/package-frame.html
@@ -0,0 +1,66 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.resource.jdbc (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../../bitronix/tm/resource/jdbc/package-summary.html" target="classFrame">bitronix.tm.resource.jdbc</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Interfaces</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="ConnectionCustomizer.html" title="interface in bitronix.tm.resource.jdbc" target="classFrame"><I>ConnectionCustomizer</I></A>
+<BR>
+<A HREF="JdbcPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jdbc" target="classFrame"><I>JdbcPooledConnectionMBean</I></A>
+<BR>
+<A HREF="LruEvictionListener.html" title="interface in bitronix.tm.resource.jdbc" target="classFrame"><I>LruEvictionListener</I></A>
+<BR>
+<A HREF="PoolingDataSourceMBean.html" title="interface in bitronix.tm.resource.jdbc" target="classFrame"><I>PoolingDataSourceMBean</I></A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc" target="classFrame">BaseProxyHandlerClass</A>
+<BR>
+<A HREF="JdbcCallableStatementHandle.html" title="class in bitronix.tm.resource.jdbc" target="classFrame">JdbcCallableStatementHandle</A>
+<BR>
+<A HREF="JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc" target="classFrame">JdbcConnectionHandle</A>
+<BR>
+<A HREF="JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc" target="classFrame">JdbcPooledConnection</A>
+<BR>
+<A HREF="JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc" target="classFrame">JdbcPreparedStatementHandle</A>
+<BR>
+<A HREF="JdbcStatementHandle.html" title="class in bitronix.tm.resource.jdbc" target="classFrame">JdbcStatementHandle</A>
+<BR>
+<A HREF="JdbcUncachedPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc" target="classFrame">JdbcUncachedPreparedStatementHandle</A>
+<BR>
+<A HREF="LruStatementCache.html" title="class in bitronix.tm.resource.jdbc" target="classFrame">LruStatementCache</A>
+<BR>
+<A HREF="PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc" target="classFrame">PoolingDataSource</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/package-summary.html b/doc/api/bitronix/tm/resource/jdbc/package-summary.html
new file mode 100644
index 0000000..8a08d60
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/package-summary.html
@@ -0,0 +1,235 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.resource.jdbc (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.resource.jdbc (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/ehcache/package-summary.html"><B>PREV PACKAGE</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/lrc/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package bitronix.tm.resource.jdbc
+</H2>
+
+ JDBC specific resource management code.
+<P>
+<B>See:</B>
+<BR>
+ <A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Interface Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/jdbc/ConnectionCustomizer.html" title="interface in bitronix.tm.resource.jdbc">ConnectionCustomizer</A></B></TD>
+<TD>Listener of connections created by a PoolingDataSource.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jdbc">JdbcPooledConnectionMBean</A></B></TD>
+<TD><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc"><CODE>JdbcPooledConnection</CODE></A> Management interface.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/jdbc/LruEvictionListener.html" title="interface in bitronix.tm.resource.jdbc">LruEvictionListener</A></B></TD>
+<TD>Eviction listener interface for <A HREF="../../../../bitronix/tm/resource/jdbc/LruStatementCache.html" title="class in bitronix.tm.resource.jdbc"><CODE>LruStatementCache</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html" title="interface in bitronix.tm.resource.jdbc">PoolingDataSourceMBean</A></B></TD>
+<TD> </TD>
+</TR>
+</TABLE>
+
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">BaseProxyHandlerClass</A></B></TD>
+<TD>Base class for Proxy InvocationHandlers.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcCallableStatementHandle</A></B></TD>
+<TD>CallableStatement <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html?is-external=true" title="class or interface in java.sql"><CODE>Statement</CODE></A> wrapper.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A></B></TD>
+<TD>Disposable Connection handle.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A></B></TD>
+<TD>Implementation of a JDBC pooled connection wrapping vendor's <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/XAConnection.html?is-external=true" title="class or interface in javax.sql"><CODE>XAConnection</CODE></A> implementation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A></B></TD>
+<TD>Caching <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql"><CODE>PreparedStatement</CODE></A> wrapper.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcStatementHandle</A></B></TD>
+<TD>Statement <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html?is-external=true" title="class or interface in java.sql"><CODE>Statement</CODE></A> wrapper.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcUncachedPreparedStatementHandle</A></B></TD>
+<TD> </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/jdbc/LruStatementCache.html" title="class in bitronix.tm.resource.jdbc">LruStatementCache</A></B></TD>
+<TD>Last Recently Used PreparedStatement cache with eviction listeners
+ support implementation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A></B></TD>
+<TD>Implementation of a JDBC <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql"><CODE>DataSource</CODE></A> wrapping vendor's <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/XADataSource.html?is-external=true" title="class or interface in javax.sql"><CODE>XADataSource</CODE></A> implementation.</TD>
+</TR>
+</TABLE>
+
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package bitronix.tm.resource.jdbc Description
+</H2>
+
+<P>
+<p>
+ JDBC specific resource management code.
+ </p>
+<P>
+
+<P>
+<DL>
+</DL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/ehcache/package-summary.html"><B>PREV PACKAGE</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/lrc/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/package-tree.html b/doc/api/bitronix/tm/resource/jdbc/package-tree.html
new file mode 100644
index 0000000..b2b86f8
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/package-tree.html
@@ -0,0 +1,173 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.resource.jdbc Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.resource.jdbc Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/ehcache/package-tree.html"><B>PREV</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/lrc/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package bitronix.tm.resource.jdbc
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common"><B>AbstractXAStatefulHolder</B></A> (implements bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A>)
+<UL>
+<LI TYPE="circle">bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common"><B>AbstractXAResourceHolder</B></A> (implements bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A>)
+<UL>
+<LI TYPE="circle">bitronix.tm.resource.jdbc.<A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc"><B>JdbcPooledConnection</B></A> (implements bitronix.tm.resource.jdbc.<A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jdbc">JdbcPooledConnectionMBean</A>, bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" t [...]
+</UL>
+</UL>
+<LI TYPE="circle">bitronix.tm.resource.jdbc.<A HREF="../../../../bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc"><B>BaseProxyHandlerClass</B></A> (implements java.lang.reflect.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/InvocationHandler.html?is-external=true" title="class or interface in java.lang.reflect">InvocationHandler</A>)
+<UL>
+<LI TYPE="circle">bitronix.tm.resource.jdbc.<A HREF="../../../../bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html" title="class in bitronix.tm.resource.jdbc"><B>JdbcCallableStatementHandle</B></A><LI TYPE="circle">bitronix.tm.resource.jdbc.<A HREF="../../../../bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc"><B>JdbcConnectionHandle</B></A><LI TYPE="circle">bitronix.tm.resource.jdbc.<A HREF="../../../../bitronix/tm/resource/jdbc/Jdb [...]
+<LI TYPE="circle">bitronix.tm.resource.jdbc.<A HREF="../../../../bitronix/tm/resource/jdbc/LruStatementCache.html" title="class in bitronix.tm.resource.jdbc"><B>LruStatementCache</B></A><LI TYPE="circle">bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common"><B>ResourceBean</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="cla [...]
+<UL>
+<LI TYPE="circle">bitronix.tm.resource.jdbc.<A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc"><B>PoolingDataSource</B></A> (implements javax.sql.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql">DataSource</A>, bitronix.tm.resource.jdbc.<A HREF="../../../../bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html" title="interface in bitronix.tm. [...]
+</UL>
+</UL>
+</UL>
+<H2>
+Interface Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">bitronix.tm.resource.jdbc.<A HREF="../../../../bitronix/tm/resource/jdbc/ConnectionCustomizer.html" title="interface in bitronix.tm.resource.jdbc"><B>ConnectionCustomizer</B></A><LI TYPE="circle">bitronix.tm.resource.jdbc.<A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jdbc"><B>JdbcPooledConnectionMBean</B></A><LI TYPE="circle">bitronix.tm.resource.jdbc.<A HREF="../../../../bitronix/tm/resource/jdbc [...]
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/ehcache/package-tree.html"><B>PREV</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/lrc/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jdbc/package-use.html b/doc/api/bitronix/tm/resource/jdbc/package-use.html
new file mode 100644
index 0000000..5317f98
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jdbc/package-use.html
@@ -0,0 +1,234 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Package bitronix.tm.resource.jdbc (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Package bitronix.tm.resource.jdbc (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>bitronix.tm.resource.jdbc</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jdbc"><B>bitronix.tm.resource.jdbc</B></A></TD>
+<TD>
+ JDBC specific resource management code. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jdbc.lrc"><B>bitronix.tm.resource.jdbc.lrc</B></A></TD>
+<TD>
+ XADataSource emulator using Last Resource Commit on an underlying non-XA DataSource. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jdbc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A> used by <A HREF="../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/jdbc/class-use/BaseProxyHandlerClass.html#bitronix.tm.resource.jdbc"><B>BaseProxyHandlerClass</B></A></B>
+
+<BR>
+ Base class for Proxy InvocationHandlers.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/jdbc/class-use/ConnectionCustomizer.html#bitronix.tm.resource.jdbc"><B>ConnectionCustomizer</B></A></B>
+
+<BR>
+ Listener of connections created by a PoolingDataSource.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/jdbc/class-use/JdbcPooledConnection.html#bitronix.tm.resource.jdbc"><B>JdbcPooledConnection</B></A></B>
+
+<BR>
+ Implementation of a JDBC pooled connection wrapping vendor's <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/XAConnection.html?is-external=true" title="class or interface in javax.sql"><CODE>XAConnection</CODE></A> implementation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/jdbc/class-use/JdbcPooledConnectionMBean.html#bitronix.tm.resource.jdbc"><B>JdbcPooledConnectionMBean</B></A></B>
+
+<BR>
+ <A HREF="../../../../bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc"><CODE>JdbcPooledConnection</CODE></A> Management interface.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/jdbc/class-use/JdbcPreparedStatementHandle.html#bitronix.tm.resource.jdbc"><B>JdbcPreparedStatementHandle</B></A></B>
+
+<BR>
+ Caching <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/PreparedStatement.html?is-external=true" title="class or interface in java.sql"><CODE>PreparedStatement</CODE></A> wrapper.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/jdbc/class-use/LruEvictionListener.html#bitronix.tm.resource.jdbc"><B>LruEvictionListener</B></A></B>
+
+<BR>
+ Eviction listener interface for <A HREF="../../../../bitronix/tm/resource/jdbc/LruStatementCache.html" title="class in bitronix.tm.resource.jdbc"><CODE>LruStatementCache</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/jdbc/class-use/PoolingDataSource.html#bitronix.tm.resource.jdbc"><B>PoolingDataSource</B></A></B>
+
+<BR>
+ Implementation of a JDBC <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql"><CODE>DataSource</CODE></A> wrapping vendor's <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/XADataSource.html?is-external=true" title="class or interface in javax.sql"><CODE>XADataSource</CODE></A> implementation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/jdbc/class-use/PoolingDataSourceMBean.html#bitronix.tm.resource.jdbc"><B>PoolingDataSourceMBean</B></A></B>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jdbc.lrc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../../bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A> used by <A HREF="../../../../bitronix/tm/resource/jdbc/lrc/package-summary.html">bitronix.tm.resource.jdbc.lrc</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/jdbc/class-use/BaseProxyHandlerClass.html#bitronix.tm.resource.jdbc.lrc"><B>BaseProxyHandlerClass</B></A></B>
+
+<BR>
+ Base class for Proxy InvocationHandlers.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jdbc/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/DualSessionWrapper.html b/doc/api/bitronix/tm/resource/jms/DualSessionWrapper.html
new file mode 100644
index 0000000..7e24577
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/DualSessionWrapper.html
@@ -0,0 +1,1393 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:05 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+DualSessionWrapper (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="DualSessionWrapper (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DualSessionWrapper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../../bitronix/tm/resource/jms/JmsConnectionHandle.html" title="class in bitronix.tm.resource.jms"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jms/DualSessionWrapper.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="DualSessionWrapper.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jms</FONT>
+<BR>
+Class DualSessionWrapper</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">bitronix.tm.resource.common.AbstractXAStatefulHolder</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">bitronix.tm.resource.common.AbstractXAResourceHolder</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.jms.DualSessionWrapper</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A>, <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A>, <A HREF="http: [...]
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>DualSessionWrapper</B><DT>extends <A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A><DT>implements javax.jms.Session, <A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A></DL>
+</PRE>
+
+<P>
+JMS Session wrapper that will send calls to either a XASession or to a non-XA Session depending on the calling
+ context.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_javax.jms.Session"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface javax.jms.Session</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>AUTO_ACKNOWLEDGE, CLIENT_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE, SESSION_TRANSACTED</CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_bitronix.tm.resource.common.XAStatefulHolder"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_ACCESSIBLE">STATE_ACCESSIBLE</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_CLOSED">STATE_CLOSED</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_IN_POOL">STATE_IN_POOL</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_NOT_ACCESSIBLE">STATE_NOT_ACCESSIBLE</A></CODE></TD>
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#DualSessionWrapper(bitronix.tm.resource.jms.JmsPooledConnection, boolean, int)">DualSessionWrapper</A></B>(<A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A> pooledConnection,
+ boolean transacted,
+ int acknowledgeMode)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#close()">close</A></B>()</CODE>
+
+<BR>
+ Close the physical connection that this <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> represents.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#commit()">commit</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.QueueBrowser</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#createBrowser(javax.jms.Queue)">createBrowser</A></B>(javax.jms.Queue queue)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.QueueBrowser</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#createBrowser(javax.jms.Queue, java.lang.String)">createBrowser</A></B>(javax.jms.Queue queue,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> messageSelector)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.BytesMessage</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#createBytesMessage()">createBytesMessage</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.MessageConsumer</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#createConsumer(javax.jms.Destination)">createConsumer</A></B>(javax.jms.Destination destination)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.MessageConsumer</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#createConsumer(javax.jms.Destination, java.lang.String)">createConsumer</A></B>(javax.jms.Destination destination,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> messageSelector)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.MessageConsumer</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#createConsumer(javax.jms.Destination, java.lang.String, boolean)">createConsumer</A></B>(javax.jms.Destination destination,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> messageSelector,
+ boolean noLocal)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.TopicSubscriber</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#createDurableSubscriber(javax.jms.Topic, java.lang.String)">createDurableSubscriber</A></B>(javax.jms.Topic topic,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.TopicSubscriber</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#createDurableSubscriber(javax.jms.Topic, java.lang.String, java.lang.String, boolean)">createDurableSubscriber</A></B>(javax.jms.Topic topic,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> name,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> messageSelector,
+ boolean noLocal)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.MapMessage</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#createMapMessage()">createMapMessage</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.Message</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#createMessage()">createMessage</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.ObjectMessage</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#createObjectMessage()">createObjectMessage</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.ObjectMessage</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#createObjectMessage(java.io.Serializable)">createObjectMessage</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A> serializable)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.MessageProducer</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#createProducer(javax.jms.Destination)">createProducer</A></B>(javax.jms.Destination destination)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.Queue</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#createQueue(java.lang.String)">createQueue</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> queueName)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.StreamMessage</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#createStreamMessage()">createStreamMessage</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.TemporaryQueue</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#createTemporaryQueue()">createTemporaryQueue</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.TemporaryTopic</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#createTemporaryTopic()">createTemporaryTopic</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.TextMessage</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#createTextMessage()">createTextMessage</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.TextMessage</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#createTextMessage(java.lang.String)">createTextMessage</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.Topic</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#createTopic(java.lang.String)">createTopic</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> topicName)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#enlistResource()">enlistResource</A></B>()</CODE>
+
+<BR>
+ Enlist this session into the current transaction if automaticEnlistingEnabled = true for this resource.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#getAcknowledgeMode()">getAcknowledgeMode</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#getConnectionHandle()">getConnectionHandle</A></B>()</CODE>
+
+<BR>
+ Create a disposable handler used to drive a pooled instance of
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#getLastReleaseDate()">getLastReleaseDate</A></B>()</CODE>
+
+<BR>
+ Get the date at which this object was last released to the pool.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.MessageListener</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#getMessageListener()">getMessageListener</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#getPoolingConnectionFactory()">getPoolingConnectionFactory</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#getResourceBean()">getResourceBean</A></B>()</CODE>
+
+<BR>
+ Get the ResourceBean which created this XAResourceHolder.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.Session</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#getSession()">getSession</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.Session</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#getSession(boolean)">getSession</A></B>(boolean forceXa)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#getTransacted()">getTransacted</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#getXAResource()">getXAResource</A></B>()</CODE>
+
+<BR>
+ Get the vendor's <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> implementation of the wrapped resource.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#getXAResourceHolders()">getXAResourceHolders</A></B>()</CODE>
+
+<BR>
+ Get the list of <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that are still open.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#recover()">recover</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#rollback()">rollback</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#run()">run</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#setMessageListener(javax.jms.MessageListener)">setMessageListener</A></B>(javax.jms.MessageListener listener)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#stateChanged(bitronix.tm.resource.common.XAStatefulHolder, int, int)">stateChanged</A></B>(<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> source,
+ int oldState,
+ int newState)</CODE>
+
+<BR>
+ Fired when the internal state of a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> has changed.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#stateChanging(bitronix.tm.resource.common.XAStatefulHolder, int, int)">stateChanging</A></B>(<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> source,
+ int currentState,
+ int futureState)</CODE>
+
+<BR>
+ Fired before the internal state of a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> has changed.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#unsubscribe(java.lang.String)">unsubscribe</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.common.AbstractXAResourceHolder"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html#getXAResourceHolderStateGtrids()">getXAResourceHolderStateGtrids</A>, <A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html#getXAResourceHolderStatesForGtrid(bitronix.tm.utils.Uid)">getXAResourceHolderStatesForGtrid</A>, <A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html#hasStateForXAResource(bitronix.tm.resource.common.XAResourceHolder)">hasStateF [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.common.AbstractXAStatefulHolder"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">AbstractXAStatefulHolder</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html#addStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">addStateChangeEventListener</A>, <A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html#getState()">getState</A>, <A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html#removeStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">removeStateChangeEventListe [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.common.XAStatefulHolder"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from interface bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#addStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">addStateChangeEventListener</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getState()">getState</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#removeStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">removeStateChangeEventListener</A>, <A HREF="../../ [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="DualSessionWrapper(bitronix.tm.resource.jms.JmsPooledConnection, boolean, int)"><!-- --></A><H3>
+DualSessionWrapper</H3>
+<PRE>
+public <B>DualSessionWrapper</B>(<A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A> pooledConnection,
+ boolean transacted,
+ int acknowledgeMode)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getPoolingConnectionFactory()"><!-- --></A><H3>
+getPoolingConnectionFactory</H3>
+<PRE>
+public <A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A> <B>getPoolingConnectionFactory</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSession()"><!-- --></A><H3>
+getSession</H3>
+<PRE>
+public javax.jms.Session <B>getSession</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSession(boolean)"><!-- --></A><H3>
+getSession</H3>
+<PRE>
+public javax.jms.Session <B>getSession</B>(boolean forceXa)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public void <B>close</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#close()">XAStatefulHolder</A></CODE></B></DD>
+<DD>Close the physical connection that this <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> represents.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#close()">close</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></CODE><DT><B>Specified by:</B><DD><CODE>close</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLastReleaseDate()"><!-- --></A><H3>
+getLastReleaseDate</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> <B>getLastReleaseDate</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getLastReleaseDate()">XAStatefulHolder</A></CODE></B></DD>
+<DD>Get the date at which this object was last released to the pool. This is required to check if it is eligible
+ for discard when the containing pool needs to shrink.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getLastReleaseDate()">getLastReleaseDate</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the date at which this object was last released to the pool or null if it never left the pool.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="stateChanged(bitronix.tm.resource.common.XAStatefulHolder, int, int)"><!-- --></A><H3>
+stateChanged</H3>
+<PRE>
+public void <B>stateChanged</B>(<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> source,
+ int oldState,
+ int newState)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html#stateChanged(bitronix.tm.resource.common.XAStatefulHolder, int, int)">StateChangeListener</A></CODE></B></DD>
+<DD>Fired when the internal state of a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> has changed.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html#stateChanged(bitronix.tm.resource.common.XAStatefulHolder, int, int)">stateChanged</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> changing state.<DD><CODE>oldState</CODE> - the old state of the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>.<DD><CODE>newState</CODE> - the new state of the <A HREF="../../.. [...]
+</DD>
+</DL>
+<HR>
+
+<A NAME="stateChanging(bitronix.tm.resource.common.XAStatefulHolder, int, int)"><!-- --></A><H3>
+stateChanging</H3>
+<PRE>
+public void <B>stateChanging</B>(<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> source,
+ int currentState,
+ int futureState)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html#stateChanging(bitronix.tm.resource.common.XAStatefulHolder, int, int)">StateChangeListener</A></CODE></B></DD>
+<DD>Fired before the internal state of a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> has changed.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html#stateChanging(bitronix.tm.resource.common.XAStatefulHolder, int, int)">stateChanging</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>source</CODE> - the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> changing state.<DD><CODE>currentState</CODE> - the current state of the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>.<DD><CODE>futureState</CODE> - the future state of the <A [...]
+</DD>
+</DL>
+<HR>
+
+<A NAME="createProducer(javax.jms.Destination)"><!-- --></A><H3>
+createProducer</H3>
+<PRE>
+public javax.jms.MessageProducer <B>createProducer</B>(javax.jms.Destination destination)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createProducer</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createConsumer(javax.jms.Destination)"><!-- --></A><H3>
+createConsumer</H3>
+<PRE>
+public javax.jms.MessageConsumer <B>createConsumer</B>(javax.jms.Destination destination)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createConsumer</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createConsumer(javax.jms.Destination, java.lang.String)"><!-- --></A><H3>
+createConsumer</H3>
+<PRE>
+public javax.jms.MessageConsumer <B>createConsumer</B>(javax.jms.Destination destination,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> messageSelector)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createConsumer</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createConsumer(javax.jms.Destination, java.lang.String, boolean)"><!-- --></A><H3>
+createConsumer</H3>
+<PRE>
+public javax.jms.MessageConsumer <B>createConsumer</B>(javax.jms.Destination destination,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> messageSelector,
+ boolean noLocal)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createConsumer</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createDurableSubscriber(javax.jms.Topic, java.lang.String)"><!-- --></A><H3>
+createDurableSubscriber</H3>
+<PRE>
+public javax.jms.TopicSubscriber <B>createDurableSubscriber</B>(javax.jms.Topic topic,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> name)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createDurableSubscriber</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createDurableSubscriber(javax.jms.Topic, java.lang.String, java.lang.String, boolean)"><!-- --></A><H3>
+createDurableSubscriber</H3>
+<PRE>
+public javax.jms.TopicSubscriber <B>createDurableSubscriber</B>(javax.jms.Topic topic,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> name,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> messageSelector,
+ boolean noLocal)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createDurableSubscriber</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMessageListener()"><!-- --></A><H3>
+getMessageListener</H3>
+<PRE>
+public javax.jms.MessageListener <B>getMessageListener</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getMessageListener</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setMessageListener(javax.jms.MessageListener)"><!-- --></A><H3>
+setMessageListener</H3>
+<PRE>
+public void <B>setMessageListener</B>(javax.jms.MessageListener listener)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>setMessageListener</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="run()"><!-- --></A><H3>
+run</H3>
+<PRE>
+public void <B>run</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true#run()" title="class or interface in java.lang">run</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A></CODE><DT><B>Specified by:</B><DD><CODE>run</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXAResource()"><!-- --></A><H3>
+getXAResource</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> <B>getXAResource</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html#getXAResource()">XAResourceHolder</A></CODE></B></DD>
+<DD>Get the vendor's <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> implementation of the wrapped resource.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html#getXAResource()">getXAResource</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the vendor's XAResource implementation.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getResourceBean()"><!-- --></A><H3>
+getResourceBean</H3>
+<PRE>
+public <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> <B>getResourceBean</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html#getResourceBean()">XAResourceHolder</A></CODE></B></DD>
+<DD>Get the ResourceBean which created this XAResourceHolder.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html#getResourceBean()">getResourceBean</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the ResourceBean which created this XAResourceHolder.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXAResourceHolders()"><!-- --></A><H3>
+getXAResourceHolders</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>getXAResourceHolders</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getXAResourceHolders()">XAStatefulHolder</A></CODE></B></DD>
+<DD>Get the list of <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that are still open.
+ <p>This method is thread-safe.</p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getXAResourceHolders()">getXAResourceHolders</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the list of <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that are still open.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getConnectionHandle()"><!-- --></A><H3>
+getConnectionHandle</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getConnectionHandle</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getConnectionHandle()">XAStatefulHolder</A></CODE></B></DD>
+<DD>Create a disposable handler used to drive a pooled instance of
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>.
+ <p>This method is thread-safe.</p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getConnectionHandle()">getConnectionHandle</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a resource-specific disaposable connection object.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - a resource-specific exception thrown when the disaposable connection cannot be created.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTransacted()"><!-- --></A><H3>
+getTransacted</H3>
+<PRE>
+public boolean <B>getTransacted</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getTransacted</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAcknowledgeMode()"><!-- --></A><H3>
+getAcknowledgeMode</H3>
+<PRE>
+public int <B>getAcknowledgeMode</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getAcknowledgeMode</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="commit()"><!-- --></A><H3>
+commit</H3>
+<PRE>
+public void <B>commit</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>commit</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="rollback()"><!-- --></A><H3>
+rollback</H3>
+<PRE>
+public void <B>rollback</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>rollback</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="recover()"><!-- --></A><H3>
+recover</H3>
+<PRE>
+public void <B>recover</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>recover</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createBrowser(javax.jms.Queue)"><!-- --></A><H3>
+createBrowser</H3>
+<PRE>
+public javax.jms.QueueBrowser <B>createBrowser</B>(javax.jms.Queue queue)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createBrowser</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createBrowser(javax.jms.Queue, java.lang.String)"><!-- --></A><H3>
+createBrowser</H3>
+<PRE>
+public javax.jms.QueueBrowser <B>createBrowser</B>(javax.jms.Queue queue,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> messageSelector)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createBrowser</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createBytesMessage()"><!-- --></A><H3>
+createBytesMessage</H3>
+<PRE>
+public javax.jms.BytesMessage <B>createBytesMessage</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createBytesMessage</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createMapMessage()"><!-- --></A><H3>
+createMapMessage</H3>
+<PRE>
+public javax.jms.MapMessage <B>createMapMessage</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createMapMessage</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createMessage()"><!-- --></A><H3>
+createMessage</H3>
+<PRE>
+public javax.jms.Message <B>createMessage</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createMessage</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createObjectMessage()"><!-- --></A><H3>
+createObjectMessage</H3>
+<PRE>
+public javax.jms.ObjectMessage <B>createObjectMessage</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createObjectMessage</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createObjectMessage(java.io.Serializable)"><!-- --></A><H3>
+createObjectMessage</H3>
+<PRE>
+public javax.jms.ObjectMessage <B>createObjectMessage</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A> serializable)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createObjectMessage</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createStreamMessage()"><!-- --></A><H3>
+createStreamMessage</H3>
+<PRE>
+public javax.jms.StreamMessage <B>createStreamMessage</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createStreamMessage</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createTextMessage()"><!-- --></A><H3>
+createTextMessage</H3>
+<PRE>
+public javax.jms.TextMessage <B>createTextMessage</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createTextMessage</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createTextMessage(java.lang.String)"><!-- --></A><H3>
+createTextMessage</H3>
+<PRE>
+public javax.jms.TextMessage <B>createTextMessage</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> text)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createTextMessage</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createQueue(java.lang.String)"><!-- --></A><H3>
+createQueue</H3>
+<PRE>
+public javax.jms.Queue <B>createQueue</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> queueName)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createQueue</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createTopic(java.lang.String)"><!-- --></A><H3>
+createTopic</H3>
+<PRE>
+public javax.jms.Topic <B>createTopic</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> topicName)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createTopic</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createTemporaryQueue()"><!-- --></A><H3>
+createTemporaryQueue</H3>
+<PRE>
+public javax.jms.TemporaryQueue <B>createTemporaryQueue</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createTemporaryQueue</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createTemporaryTopic()"><!-- --></A><H3>
+createTemporaryTopic</H3>
+<PRE>
+public javax.jms.TemporaryTopic <B>createTemporaryTopic</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createTemporaryTopic</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="unsubscribe(java.lang.String)"><!-- --></A><H3>
+unsubscribe</H3>
+<PRE>
+public void <B>unsubscribe</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> name)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>unsubscribe</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="enlistResource()"><!-- --></A><H3>
+enlistResource</H3>
+<PRE>
+protected void <B>enlistResource</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD>Enlist this session into the current transaction if automaticEnlistingEnabled = true for this resource.
+ If no transaction is running then this method does nothing.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/DualSessionWrapper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../../bitronix/tm/resource/jms/JmsConnectionHandle.html" title="class in bitronix.tm.resource.jms"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jms/DualSessionWrapper.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="DualSessionWrapper.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/JmsConnectionHandle.html b/doc/api/bitronix/tm/resource/jms/JmsConnectionHandle.html
new file mode 100644
index 0000000..67af01c
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/JmsConnectionHandle.html
@@ -0,0 +1,607 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:05 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+JmsConnectionHandle (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="JmsConnectionHandle (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/JmsConnectionHandle.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jms/JmsConnectionHandle.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JmsConnectionHandle.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jms</FONT>
+<BR>
+Class JmsConnectionHandle</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.jms.JmsConnectionHandle</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>javax.jms.Connection</DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>JmsConnectionHandle</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements javax.jms.Connection</DL>
+</PRE>
+
+<P>
+Disposable Connection handle.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsConnectionHandle.html#JmsConnectionHandle(bitronix.tm.resource.jms.JmsPooledConnection, javax.jms.XAConnection)">JmsConnectionHandle</A></B>(<A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A> pooledConnection,
+ javax.jms.XAConnection xaConnection)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsConnectionHandle.html#close()">close</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.ConnectionConsumer</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsConnectionHandle.html#createConnectionConsumer(javax.jms.Destination, java.lang.String, javax.jms.ServerSessionPool, int)">createConnectionConsumer</A></B>(javax.jms.Destination destination,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> messageSelector,
+ javax.jms.ServerSessionPool sessionPool,
+ int maxMessages)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.ConnectionConsumer</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsConnectionHandle.html#createDurableConnectionConsumer(javax.jms.Topic, java.lang.String, java.lang.String, javax.jms.ServerSessionPool, int)">createDurableConnectionConsumer</A></B>(javax.jms.Topic topic,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> subscriptionName,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> messageSelector,
+ javax.jms.ServerSessionPool sessionPool,
+ int maxMessages)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.Session</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsConnectionHandle.html#createSession(boolean, int)">createSession</A></B>(boolean transacted,
+ int acknowledgeMode)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsConnectionHandle.html#getClientID()">getClientID</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.ExceptionListener</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsConnectionHandle.html#getExceptionListener()">getExceptionListener</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.ConnectionMetaData</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsConnectionHandle.html#getMetaData()">getMetaData</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsConnectionHandle.html#getPooledConnection()">getPooledConnection</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.XAConnection</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsConnectionHandle.html#getXAConnection()">getXAConnection</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsConnectionHandle.html#setClientID(java.lang.String)">setClientID</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> jndiName)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsConnectionHandle.html#setExceptionListener(javax.jms.ExceptionListener)">setExceptionListener</A></B>(javax.jms.ExceptionListener listener)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsConnectionHandle.html#start()">start</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsConnectionHandle.html#stop()">stop</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsConnectionHandle.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="JmsConnectionHandle(bitronix.tm.resource.jms.JmsPooledConnection, javax.jms.XAConnection)"><!-- --></A><H3>
+JmsConnectionHandle</H3>
+<PRE>
+public <B>JmsConnectionHandle</B>(<A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A> pooledConnection,
+ javax.jms.XAConnection xaConnection)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getXAConnection()"><!-- --></A><H3>
+getXAConnection</H3>
+<PRE>
+public javax.jms.XAConnection <B>getXAConnection</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPooledConnection()"><!-- --></A><H3>
+getPooledConnection</H3>
+<PRE>
+public <A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A> <B>getPooledConnection</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createSession(boolean, int)"><!-- --></A><H3>
+createSession</H3>
+<PRE>
+public javax.jms.Session <B>createSession</B>(boolean transacted,
+ int acknowledgeMode)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createSession</CODE> in interface <CODE>javax.jms.Connection</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public void <B>close</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>close</CODE> in interface <CODE>javax.jms.Connection</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getClientID()"><!-- --></A><H3>
+getClientID</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getClientID</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getClientID</CODE> in interface <CODE>javax.jms.Connection</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setClientID(java.lang.String)"><!-- --></A><H3>
+setClientID</H3>
+<PRE>
+public void <B>setClientID</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> jndiName)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>setClientID</CODE> in interface <CODE>javax.jms.Connection</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMetaData()"><!-- --></A><H3>
+getMetaData</H3>
+<PRE>
+public javax.jms.ConnectionMetaData <B>getMetaData</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getMetaData</CODE> in interface <CODE>javax.jms.Connection</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getExceptionListener()"><!-- --></A><H3>
+getExceptionListener</H3>
+<PRE>
+public javax.jms.ExceptionListener <B>getExceptionListener</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getExceptionListener</CODE> in interface <CODE>javax.jms.Connection</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setExceptionListener(javax.jms.ExceptionListener)"><!-- --></A><H3>
+setExceptionListener</H3>
+<PRE>
+public void <B>setExceptionListener</B>(javax.jms.ExceptionListener listener)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>setExceptionListener</CODE> in interface <CODE>javax.jms.Connection</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="start()"><!-- --></A><H3>
+start</H3>
+<PRE>
+public void <B>start</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>start</CODE> in interface <CODE>javax.jms.Connection</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="stop()"><!-- --></A><H3>
+stop</H3>
+<PRE>
+public void <B>stop</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>stop</CODE> in interface <CODE>javax.jms.Connection</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createConnectionConsumer(javax.jms.Destination, java.lang.String, javax.jms.ServerSessionPool, int)"><!-- --></A><H3>
+createConnectionConsumer</H3>
+<PRE>
+public javax.jms.ConnectionConsumer <B>createConnectionConsumer</B>(javax.jms.Destination destination,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> messageSelector,
+ javax.jms.ServerSessionPool sessionPool,
+ int maxMessages)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createConnectionConsumer</CODE> in interface <CODE>javax.jms.Connection</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createDurableConnectionConsumer(javax.jms.Topic, java.lang.String, java.lang.String, javax.jms.ServerSessionPool, int)"><!-- --></A><H3>
+createDurableConnectionConsumer</H3>
+<PRE>
+public javax.jms.ConnectionConsumer <B>createDurableConnectionConsumer</B>(javax.jms.Topic topic,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> subscriptionName,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> messageSelector,
+ javax.jms.ServerSessionPool sessionPool,
+ int maxMessages)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createDurableConnectionConsumer</CODE> in interface <CODE>javax.jms.Connection</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/JmsConnectionHandle.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jms/JmsConnectionHandle.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JmsConnectionHandle.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/JmsPooledConnection.html b/doc/api/bitronix/tm/resource/jms/JmsPooledConnection.html
new file mode 100644
index 0000000..9fa99d7
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/JmsPooledConnection.html
@@ -0,0 +1,604 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:05 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+JmsPooledConnection (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="JmsPooledConnection (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/JmsPooledConnection.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jms/JmsConnectionHandle.html" title="class in bitronix.tm.resource.jms"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jms"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jms/JmsPooledConnection.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JmsPooledConnection.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jms</FONT>
+<BR>
+Class JmsPooledConnection</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">bitronix.tm.resource.common.AbstractXAStatefulHolder</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.jms.JmsPooledConnection</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A>, <A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jms">JmsPooledConnectionMBean</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>JmsPooledConnection</B><DT>extends <A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">AbstractXAStatefulHolder</A><DT>implements <A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jms">JmsPooledConnectionMBean</A></DL>
+</PRE>
+
+<P>
+Implementation of a JMS pooled connection wrapping vendor's <CODE>XAConnection</CODE> implementation.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban
+ TODO: how can the JMS connection be accurately tested?</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_bitronix.tm.resource.common.XAStatefulHolder"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_ACCESSIBLE">STATE_ACCESSIBLE</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_CLOSED">STATE_CLOSED</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_IN_POOL">STATE_IN_POOL</A>, <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#STATE_NOT_ACCESSIBLE">STATE_NOT_ACCESSIBLE</A></CODE></TD>
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnection.html#JmsPooledConnection(bitronix.tm.resource.jms.PoolingConnectionFactory, javax.jms.XAConnection)">JmsPooledConnection</A></B>(<A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A> poolingConnectionFactory,
+ javax.jms.XAConnection connection)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnection.html#close()">close</A></B>()</CODE>
+
+<BR>
+ Close the physical connection that this <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> represents.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common">RecoveryXAResourceHolder</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnection.html#createRecoveryXAResourceHolder()">createRecoveryXAResourceHolder</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected javax.jms.Session</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnection.html#createSession(boolean, int)">createSession</A></B>(boolean transacted,
+ int acknowledgeMode)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnection.html#getAcquisitionDate()">getAcquisitionDate</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnection.html#getConnectionHandle()">getConnectionHandle</A></B>()</CODE>
+
+<BR>
+ Create a disposable handler used to drive a pooled instance of
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnection.html#getLastReleaseDate()">getLastReleaseDate</A></B>()</CODE>
+
+<BR>
+ Get the date at which this object was last released to the pool.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnection.html#getPoolingConnectionFactory()">getPoolingConnectionFactory</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnection.html#getStateDescription()">getStateDescription</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnection.html#getTransactionGtridsCurrentlyHoldingThis()">getTransactionGtridsCurrentlyHoldingThis</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.XAConnection</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnection.html#getXAConnection()">getXAConnection</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnection.html#getXAResourceHolders()">getXAResourceHolders</A></B>()</CODE>
+
+<BR>
+ Get the list of <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that are still open.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnection.html#release()">release</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnection.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.common.AbstractXAStatefulHolder"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">AbstractXAStatefulHolder</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html#addStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">addStateChangeEventListener</A>, <A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html#getState()">getState</A>, <A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html#removeStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)">removeStateChangeEventListe [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="JmsPooledConnection(bitronix.tm.resource.jms.PoolingConnectionFactory, javax.jms.XAConnection)"><!-- --></A><H3>
+JmsPooledConnection</H3>
+<PRE>
+protected <B>JmsPooledConnection</B>(<A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A> poolingConnectionFactory,
+ javax.jms.XAConnection connection)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getXAConnection()"><!-- --></A><H3>
+getXAConnection</H3>
+<PRE>
+public javax.jms.XAConnection <B>getXAConnection</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPoolingConnectionFactory()"><!-- --></A><H3>
+getPoolingConnectionFactory</H3>
+<PRE>
+public <A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A> <B>getPoolingConnectionFactory</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createRecoveryXAResourceHolder()"><!-- --></A><H3>
+createRecoveryXAResourceHolder</H3>
+<PRE>
+public <A HREF="../../../../bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common">RecoveryXAResourceHolder</A> <B>createRecoveryXAResourceHolder</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public void <B>close</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#close()">XAStatefulHolder</A></CODE></B></DD>
+<DD>Close the physical connection that this <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> represents.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#close()">close</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXAResourceHolders()"><!-- --></A><H3>
+getXAResourceHolders</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>getXAResourceHolders</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getXAResourceHolders()">XAStatefulHolder</A></CODE></B></DD>
+<DD>Get the list of <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that are still open.
+ <p>This method is thread-safe.</p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getXAResourceHolders()">getXAResourceHolders</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the list of <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that are still open.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getConnectionHandle()"><!-- --></A><H3>
+getConnectionHandle</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getConnectionHandle</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getConnectionHandle()">XAStatefulHolder</A></CODE></B></DD>
+<DD>Create a disposable handler used to drive a pooled instance of
+ <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>.
+ <p>This method is thread-safe.</p>
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getConnectionHandle()">getConnectionHandle</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a resource-specific disaposable connection object.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - a resource-specific exception thrown when the disaposable connection cannot be created.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="release()"><!-- --></A><H3>
+release</H3>
+<PRE>
+protected void <B>release</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createSession(boolean, int)"><!-- --></A><H3>
+createSession</H3>
+<PRE>
+protected javax.jms.Session <B>createSession</B>(boolean transacted,
+ int acknowledgeMode)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getLastReleaseDate()"><!-- --></A><H3>
+getLastReleaseDate</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> <B>getLastReleaseDate</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getLastReleaseDate()">XAStatefulHolder</A></CODE></B></DD>
+<DD>Get the date at which this object was last released to the pool. This is required to check if it is eligible
+ for discard when the containing pool needs to shrink.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html#getLastReleaseDate()">getLastReleaseDate</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the date at which this object was last released to the pool or null if it never left the pool.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getStateDescription()"><!-- --></A><H3>
+getStateDescription</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getStateDescription</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnectionMBean.html#getStateDescription()">getStateDescription</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jms">JmsPooledConnectionMBean</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAcquisitionDate()"><!-- --></A><H3>
+getAcquisitionDate</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> <B>getAcquisitionDate</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnectionMBean.html#getAcquisitionDate()">getAcquisitionDate</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jms">JmsPooledConnectionMBean</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTransactionGtridsCurrentlyHoldingThis()"><!-- --></A><H3>
+getTransactionGtridsCurrentlyHoldingThis</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</A> <B>getTransactionGtridsCurrentlyHoldingThis</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnectionMBean.html#getTransactionGtridsCurrentlyHoldingThis()">getTransactionGtridsCurrentlyHoldingThis</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jms">JmsPooledConnectionMBean</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/JmsPooledConnection.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jms/JmsConnectionHandle.html" title="class in bitronix.tm.resource.jms"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jms"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jms/JmsPooledConnection.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JmsPooledConnection.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/JmsPooledConnectionMBean.html b/doc/api/bitronix/tm/resource/jms/JmsPooledConnectionMBean.html
new file mode 100644
index 0000000..f59d962
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/JmsPooledConnectionMBean.html
@@ -0,0 +1,256 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:05 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+JmsPooledConnectionMBean (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="JmsPooledConnectionMBean (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/JmsPooledConnectionMBean.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jms/JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jms/JmsPooledConnectionMBean.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JmsPooledConnectionMBean.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jms</FONT>
+<BR>
+Interface JmsPooledConnectionMBean</H2>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public interface <B>JmsPooledConnectionMBean</B></DL>
+</PRE>
+
+<P>
+<A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms"><CODE>JmsPooledConnection</CODE></A> Management interface.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnectionMBean.html#getAcquisitionDate()">getAcquisitionDate</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnectionMBean.html#getStateDescription()">getStateDescription</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnectionMBean.html#getTransactionGtridsCurrentlyHoldingThis()">getTransactionGtridsCurrentlyHoldingThis</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getStateDescription()"><!-- --></A><H3>
+getStateDescription</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getStateDescription</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAcquisitionDate()"><!-- --></A><H3>
+getAcquisitionDate</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> <B>getAcquisitionDate</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTransactionGtridsCurrentlyHoldingThis()"><!-- --></A><H3>
+getTransactionGtridsCurrentlyHoldingThis</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</A> <B>getTransactionGtridsCurrentlyHoldingThis</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/JmsPooledConnectionMBean.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jms/JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jms/JmsPooledConnectionMBean.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JmsPooledConnectionMBean.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/JndiXAConnectionFactory.html b/doc/api/bitronix/tm/resource/jms/JndiXAConnectionFactory.html
new file mode 100644
index 0000000..6e31c00
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/JndiXAConnectionFactory.html
@@ -0,0 +1,723 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:05 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+JndiXAConnectionFactory (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="JndiXAConnectionFactory (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/JndiXAConnectionFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jms"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jms/JndiXAConnectionFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JndiXAConnectionFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jms</FONT>
+<BR>
+Class JndiXAConnectionFactory</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.jms.JndiXAConnectionFactory</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>javax.jms.XAConnectionFactory</DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>JndiXAConnectionFactory</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements javax.jms.XAConnectionFactory</DL>
+</PRE>
+
+<P>
+<CODE>XAConnectionFactory</CODE> implementation that wraps another <CODE>XAConnectionFactory</CODE> implementation available
+ in some JNDI tree.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JndiXAConnectionFactory.html#JndiXAConnectionFactory()">JndiXAConnectionFactory</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.XAConnection</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JndiXAConnectionFactory.html#createXAConnection()">createXAConnection</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.XAConnection</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JndiXAConnectionFactory.html#createXAConnection(java.lang.String, java.lang.String)">createXAConnection</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> userName,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> password)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JndiXAConnectionFactory.html#getExtraJndiProperties()">getExtraJndiProperties</A></B>()</CODE>
+
+<BR>
+ The extra JNDI environment properties added the the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/InitialContext.html?is-external=true" title="class or interface in javax.naming"><CODE>InitialContext</CODE></A>'s environment upon creation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JndiXAConnectionFactory.html#getInitialContextFactory()">getInitialContextFactory</A></B>()</CODE>
+
+<BR>
+ The <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#INITIAL_CONTEXT_FACTORY" title="class or interface in javax.naming"><CODE>Context.INITIAL_CONTEXT_FACTORY</CODE></A> of the JNDI <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> used to fetch the <CODE>XAConnectionFactory</C [...]
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JndiXAConnectionFactory.html#getName()">getName</A></B>()</CODE>
+
+<BR>
+ The JNDI name under which the <CODE>XAConnectionFactory</CODE> is available.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JndiXAConnectionFactory.html#getProviderUrl()">getProviderUrl</A></B>()</CODE>
+
+<BR>
+ The <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#PROVIDER_URL" title="class or interface in javax.naming"><CODE>Context.PROVIDER_URL</CODE></A> of the JNDI <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> used to fetch the <CODE>XAConnectionFactory</CODE>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JndiXAConnectionFactory.html#getSecurityCredentials()">getSecurityCredentials</A></B>()</CODE>
+
+<BR>
+ The <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#SECURITY_CREDENTIALS" title="class or interface in javax.naming"><CODE>Context.SECURITY_CREDENTIALS</CODE></A> of the JNDI <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> used to fetch the <CODE>XAConnectionFactory</CODE>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JndiXAConnectionFactory.html#getSecurityPrincipal()">getSecurityPrincipal</A></B>()</CODE>
+
+<BR>
+ The <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#SECURITY_PRINCIPAL" title="class or interface in javax.naming"><CODE>Context.SECURITY_PRINCIPAL</CODE></A> of the JNDI <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> used to fetch the <CODE>XAConnectionFactory</CODE>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JndiXAConnectionFactory.html#getUrlPkgPrefixes()">getUrlPkgPrefixes</A></B>()</CODE>
+
+<BR>
+ The <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#URL_PKG_PREFIXES" title="class or interface in javax.naming"><CODE>Context.URL_PKG_PREFIXES</CODE></A> of the JNDI <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> used to fetch the <CODE>XAConnectionFactory</CODE>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JndiXAConnectionFactory.html#init()">init</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JndiXAConnectionFactory.html#isNarrowJndiObject()">isNarrowJndiObject</A></B>()</CODE>
+
+<BR>
+ Should <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/rmi/PortableRemoteObject.html?is-external=true#narrow(java.lang.Object, java.lang.Class)" title="class or interface in javax.rmi"><CODE>PortableRemoteObject.narrow(Object, Class)</CODE></A> be applied on the object looked up from
+ JNDI before trying to cast it to <CODE>XAConnectionFactory</CODE> ?</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JndiXAConnectionFactory.html#setExtraJndiProperties(java.util.Properties)">setExtraJndiProperties</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A> extraJndiProperties)</CODE>
+
+<BR>
+ Set the extra JNDI environment properties added the the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/InitialContext.html?is-external=true" title="class or interface in javax.naming"><CODE>InitialContext</CODE></A>'s environment upon creation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JndiXAConnectionFactory.html#setInitialContextFactory(java.lang.String)">setInitialContextFactory</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> initialContextFactory)</CODE>
+
+<BR>
+ Set the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#INITIAL_CONTEXT_FACTORY" title="class or interface in javax.naming"><CODE>Context.INITIAL_CONTEXT_FACTORY</CODE></A> of the JNDI <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> used to fetch the <CODE>XAConnectionFactor [...]
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JndiXAConnectionFactory.html#setName(java.lang.String)">setName</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+ Set the JNDI name under which the <CODE>XAConnectionFactory</CODE> is available.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JndiXAConnectionFactory.html#setNarrowJndiObject(boolean)">setNarrowJndiObject</A></B>(boolean narrowJndiObject)</CODE>
+
+<BR>
+ Set if <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/rmi/PortableRemoteObject.html?is-external=true#narrow(java.lang.Object, java.lang.Class)" title="class or interface in javax.rmi"><CODE>PortableRemoteObject.narrow(Object, Class)</CODE></A> should be applied on the object looked up from
+ JNDI before trying to cast it to <CODE>XAConnectionFactory</CODE> ?</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JndiXAConnectionFactory.html#setProviderUrl(java.lang.String)">setProviderUrl</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> providerUrl)</CODE>
+
+<BR>
+ Set the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#PROVIDER_URL" title="class or interface in javax.naming"><CODE>Context.PROVIDER_URL</CODE></A> of the JNDI <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> used to fetch the <CODE>XAConnectionFactory</CODE>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JndiXAConnectionFactory.html#setSecurityCredentials(java.lang.String)">setSecurityCredentials</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> securityCredentials)</CODE>
+
+<BR>
+ Set the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#SECURITY_CREDENTIALS" title="class or interface in javax.naming"><CODE>Context.SECURITY_CREDENTIALS</CODE></A> of the JNDI <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> used to fetch the <CODE>XAConnectionFactory</COD [...]
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JndiXAConnectionFactory.html#setSecurityPrincipal(java.lang.String)">setSecurityPrincipal</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> securityPrincipal)</CODE>
+
+<BR>
+ Set the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#SECURITY_PRINCIPAL" title="class or interface in javax.naming"><CODE>Context.SECURITY_PRINCIPAL</CODE></A> of the JNDI <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> used to fetch the <CODE>XAConnectionFactory</CODE>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/JndiXAConnectionFactory.html#setUrlPkgPrefixes(java.lang.String)">setUrlPkgPrefixes</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> urlPkgPrefixes)</CODE>
+
+<BR>
+ Set the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#URL_PKG_PREFIXES" title="class or interface in javax.naming"><CODE>Context.URL_PKG_PREFIXES</CODE></A> of the JNDI <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> used to fetch the <CODE>XAConnectionFactory</CODE>.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="JndiXAConnectionFactory()"><!-- --></A><H3>
+JndiXAConnectionFactory</H3>
+<PRE>
+public <B>JndiXAConnectionFactory</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getInitialContextFactory()"><!-- --></A><H3>
+getInitialContextFactory</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getInitialContextFactory</B>()</PRE>
+<DL>
+<DD>The <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#INITIAL_CONTEXT_FACTORY" title="class or interface in javax.naming"><CODE>Context.INITIAL_CONTEXT_FACTORY</CODE></A> of the JNDI <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> used to fetch the <CODE>XAConnectionFactory</CODE>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#INITIAL_CONTEXT_FACTORY" title="class or interface in javax.naming"><CODE>Context.INITIAL_CONTEXT_FACTORY</CODE></A> value.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setInitialContextFactory(java.lang.String)"><!-- --></A><H3>
+setInitialContextFactory</H3>
+<PRE>
+public void <B>setInitialContextFactory</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> initialContextFactory)</PRE>
+<DL>
+<DD>Set the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#INITIAL_CONTEXT_FACTORY" title="class or interface in javax.naming"><CODE>Context.INITIAL_CONTEXT_FACTORY</CODE></A> of the JNDI <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> used to fetch the <CODE>XAConnectionFactory</CODE>.
+ If not set, the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> is created without the environment parameter, using the default constructor. This means
+ <i>all other properties (providerUrl, urlPkgPrefixes, extraJndiProperties...) are then ignored.</i>
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>initialContextFactory</CODE> - the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#INITIAL_CONTEXT_FACTORY" title="class or interface in javax.naming"><CODE>Context.INITIAL_CONTEXT_FACTORY</CODE></A> value.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getProviderUrl()"><!-- --></A><H3>
+getProviderUrl</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getProviderUrl</B>()</PRE>
+<DL>
+<DD>The <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#PROVIDER_URL" title="class or interface in javax.naming"><CODE>Context.PROVIDER_URL</CODE></A> of the JNDI <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> used to fetch the <CODE>XAConnectionFactory</CODE>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#PROVIDER_URL" title="class or interface in javax.naming"><CODE>Context.PROVIDER_URL</CODE></A> value.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setProviderUrl(java.lang.String)"><!-- --></A><H3>
+setProviderUrl</H3>
+<PRE>
+public void <B>setProviderUrl</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> providerUrl)</PRE>
+<DL>
+<DD>Set the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#PROVIDER_URL" title="class or interface in javax.naming"><CODE>Context.PROVIDER_URL</CODE></A> of the JNDI <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> used to fetch the <CODE>XAConnectionFactory</CODE>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>providerUrl</CODE> - the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#PROVIDER_URL" title="class or interface in javax.naming"><CODE>Context.PROVIDER_URL</CODE></A> value.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUrlPkgPrefixes()"><!-- --></A><H3>
+getUrlPkgPrefixes</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getUrlPkgPrefixes</B>()</PRE>
+<DL>
+<DD>The <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#URL_PKG_PREFIXES" title="class or interface in javax.naming"><CODE>Context.URL_PKG_PREFIXES</CODE></A> of the JNDI <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> used to fetch the <CODE>XAConnectionFactory</CODE>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#URL_PKG_PREFIXES" title="class or interface in javax.naming"><CODE>Context.URL_PKG_PREFIXES</CODE></A> value.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setUrlPkgPrefixes(java.lang.String)"><!-- --></A><H3>
+setUrlPkgPrefixes</H3>
+<PRE>
+public void <B>setUrlPkgPrefixes</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> urlPkgPrefixes)</PRE>
+<DL>
+<DD>Set the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#URL_PKG_PREFIXES" title="class or interface in javax.naming"><CODE>Context.URL_PKG_PREFIXES</CODE></A> of the JNDI <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> used to fetch the <CODE>XAConnectionFactory</CODE>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>urlPkgPrefixes</CODE> - the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#URL_PKG_PREFIXES" title="class or interface in javax.naming"><CODE>Context.URL_PKG_PREFIXES</CODE></A> value.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSecurityPrincipal()"><!-- --></A><H3>
+getSecurityPrincipal</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getSecurityPrincipal</B>()</PRE>
+<DL>
+<DD>The <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#SECURITY_PRINCIPAL" title="class or interface in javax.naming"><CODE>Context.SECURITY_PRINCIPAL</CODE></A> of the JNDI <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> used to fetch the <CODE>XAConnectionFactory</CODE>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#SECURITY_PRINCIPAL" title="class or interface in javax.naming"><CODE>Context.SECURITY_PRINCIPAL</CODE></A> value.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setSecurityPrincipal(java.lang.String)"><!-- --></A><H3>
+setSecurityPrincipal</H3>
+<PRE>
+public void <B>setSecurityPrincipal</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> securityPrincipal)</PRE>
+<DL>
+<DD>Set the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#SECURITY_PRINCIPAL" title="class or interface in javax.naming"><CODE>Context.SECURITY_PRINCIPAL</CODE></A> of the JNDI <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> used to fetch the <CODE>XAConnectionFactory</CODE>.
+ If <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#INITIAL_CONTEXT_FACTORY" title="class or interface in javax.naming"><CODE>Context.INITIAL_CONTEXT_FACTORY</CODE></A> and <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#PROVIDER_URL" title="class or interface in javax.naming"><CODE>Context.PROVIDER_URL</CODE></A> are not set, this value is ignored.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>securityPrincipal</CODE> - the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#SECURITY_PRINCIPAL" title="class or interface in javax.naming"><CODE>Context.SECURITY_PRINCIPAL</CODE></A> value.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getSecurityCredentials()"><!-- --></A><H3>
+getSecurityCredentials</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getSecurityCredentials</B>()</PRE>
+<DL>
+<DD>The <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#SECURITY_CREDENTIALS" title="class or interface in javax.naming"><CODE>Context.SECURITY_CREDENTIALS</CODE></A> of the JNDI <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> used to fetch the <CODE>XAConnectionFactory</CODE>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#SECURITY_CREDENTIALS" title="class or interface in javax.naming"><CODE>Context.SECURITY_CREDENTIALS</CODE></A> value.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setSecurityCredentials(java.lang.String)"><!-- --></A><H3>
+setSecurityCredentials</H3>
+<PRE>
+public void <B>setSecurityCredentials</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> securityCredentials)</PRE>
+<DL>
+<DD>Set the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#SECURITY_CREDENTIALS" title="class or interface in javax.naming"><CODE>Context.SECURITY_CREDENTIALS</CODE></A> of the JNDI <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> used to fetch the <CODE>XAConnectionFactory</CODE>.
+ If <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#INITIAL_CONTEXT_FACTORY" title="class or interface in javax.naming"><CODE>Context.INITIAL_CONTEXT_FACTORY</CODE></A> and <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#PROVIDER_URL" title="class or interface in javax.naming"><CODE>Context.PROVIDER_URL</CODE></A> are not set, this value is ignored.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>securityCredentials</CODE> - the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#SECURITY_CREDENTIALS" title="class or interface in javax.naming"><CODE>Context.SECURITY_CREDENTIALS</CODE></A> value.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getName()"><!-- --></A><H3>
+getName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getName</B>()</PRE>
+<DL>
+<DD>The JNDI name under which the <CODE>XAConnectionFactory</CODE> is available.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The JNDI name.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setName(java.lang.String)"><!-- --></A><H3>
+setName</H3>
+<PRE>
+public void <B>setName</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD>Set the JNDI name under which the <CODE>XAConnectionFactory</CODE> is available.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the JNDI name.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getExtraJndiProperties()"><!-- --></A><H3>
+getExtraJndiProperties</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A> <B>getExtraJndiProperties</B>()</PRE>
+<DL>
+<DD>The extra JNDI environment properties added the the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/InitialContext.html?is-external=true" title="class or interface in javax.naming"><CODE>InitialContext</CODE></A>'s environment upon creation.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>The extra JNDI environment properties.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setExtraJndiProperties(java.util.Properties)"><!-- --></A><H3>
+setExtraJndiProperties</H3>
+<PRE>
+public void <B>setExtraJndiProperties</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A> extraJndiProperties)</PRE>
+<DL>
+<DD>Set the extra JNDI environment properties added the the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/InitialContext.html?is-external=true" title="class or interface in javax.naming"><CODE>InitialContext</CODE></A>'s environment upon creation.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>extraJndiProperties</CODE> - The extra JNDI environment properties.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isNarrowJndiObject()"><!-- --></A><H3>
+isNarrowJndiObject</H3>
+<PRE>
+public boolean <B>isNarrowJndiObject</B>()</PRE>
+<DL>
+<DD>Should <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/rmi/PortableRemoteObject.html?is-external=true#narrow(java.lang.Object, java.lang.Class)" title="class or interface in javax.rmi"><CODE>PortableRemoteObject.narrow(Object, Class)</CODE></A> be applied on the object looked up from
+ JNDI before trying to cast it to <CODE>XAConnectionFactory</CODE> ?
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if the object should be narrowed, false otherwise.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setNarrowJndiObject(boolean)"><!-- --></A><H3>
+setNarrowJndiObject</H3>
+<PRE>
+public void <B>setNarrowJndiObject</B>(boolean narrowJndiObject)</PRE>
+<DL>
+<DD>Set if <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/rmi/PortableRemoteObject.html?is-external=true#narrow(java.lang.Object, java.lang.Class)" title="class or interface in javax.rmi"><CODE>PortableRemoteObject.narrow(Object, Class)</CODE></A> should be applied on the object looked up from
+ JNDI before trying to cast it to <CODE>XAConnectionFactory</CODE> ?
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>narrowJndiObject</CODE> - true if the object should be narrowed, false otherwise.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="init()"><!-- --></A><H3>
+init</H3>
+<PRE>
+protected void <B>init</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createXAConnection()"><!-- --></A><H3>
+createXAConnection</H3>
+<PRE>
+public javax.jms.XAConnection <B>createXAConnection</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createXAConnection</CODE> in interface <CODE>javax.jms.XAConnectionFactory</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createXAConnection(java.lang.String, java.lang.String)"><!-- --></A><H3>
+createXAConnection</H3>
+<PRE>
+public javax.jms.XAConnection <B>createXAConnection</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> userName,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> password)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createXAConnection</CODE> in interface <CODE>javax.jms.XAConnectionFactory</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/JndiXAConnectionFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jms"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jms/JndiXAConnectionFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JndiXAConnectionFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/MessageConsumerWrapper.html b/doc/api/bitronix/tm/resource/jms/MessageConsumerWrapper.html
new file mode 100644
index 0000000..58fa4dc
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/MessageConsumerWrapper.html
@@ -0,0 +1,535 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:05 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+MessageConsumerWrapper (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="MessageConsumerWrapper (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/MessageConsumerWrapper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jms/JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jms/MessageProducerConsumerKey.html" title="class in bitronix.tm.resource.jms"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jms/MessageConsumerWrapper.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="MessageConsumerWrapper.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jms</FONT>
+<BR>
+Class MessageConsumerWrapper</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.jms.MessageConsumerWrapper</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>javax.jms.MessageConsumer</DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../bitronix/tm/resource/jms/TopicSubscriberWrapper.html" title="class in bitronix.tm.resource.jms">TopicSubscriberWrapper</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>MessageConsumerWrapper</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements javax.jms.MessageConsumer</DL>
+</PRE>
+
+<P>
+<CODE>MessageConsumer</CODE> wrapper that adds XA enlistment semantics.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html#session">session</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html#MessageConsumerWrapper(javax.jms.MessageConsumer, bitronix.tm.resource.jms.DualSessionWrapper, bitronix.tm.resource.jms.PoolingConnectionFactory)">MessageConsumerWrapper</A></B>(javax.jms.MessageConsumer messageConsumer,
+ <A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A> session,
+ <A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A> poolingConnectionFactory)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html#close()">close</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html#enlistResource()">enlistResource</A></B>()</CODE>
+
+<BR>
+ Enlist this session into the current transaction if automaticEnlistingEnabled = true for this resource.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.MessageConsumer</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html#getMessageConsumer()">getMessageConsumer</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.MessageListener</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html#getMessageListener()">getMessageListener</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html#getMessageSelector()">getMessageSelector</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.Message</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html#receive()">receive</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.Message</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html#receive(long)">receive</A></B>(long timeout)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.Message</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html#receiveNoWait()">receiveNoWait</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html#setMessageListener(javax.jms.MessageListener)">setMessageListener</A></B>(javax.jms.MessageListener listener)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="session"><!-- --></A><H3>
+session</H3>
+<PRE>
+protected <A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A> <B>session</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="MessageConsumerWrapper(javax.jms.MessageConsumer, bitronix.tm.resource.jms.DualSessionWrapper, bitronix.tm.resource.jms.PoolingConnectionFactory)"><!-- --></A><H3>
+MessageConsumerWrapper</H3>
+<PRE>
+public <B>MessageConsumerWrapper</B>(javax.jms.MessageConsumer messageConsumer,
+ <A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A> session,
+ <A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A> poolingConnectionFactory)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getMessageConsumer()"><!-- --></A><H3>
+getMessageConsumer</H3>
+<PRE>
+public javax.jms.MessageConsumer <B>getMessageConsumer</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="enlistResource()"><!-- --></A><H3>
+enlistResource</H3>
+<PRE>
+protected void <B>enlistResource</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD>Enlist this session into the current transaction if automaticEnlistingEnabled = true for this resource.
+ If no transaction is running then this method does nothing.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="receive()"><!-- --></A><H3>
+receive</H3>
+<PRE>
+public javax.jms.Message <B>receive</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>receive</CODE> in interface <CODE>javax.jms.MessageConsumer</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="receive(long)"><!-- --></A><H3>
+receive</H3>
+<PRE>
+public javax.jms.Message <B>receive</B>(long timeout)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>receive</CODE> in interface <CODE>javax.jms.MessageConsumer</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="receiveNoWait()"><!-- --></A><H3>
+receiveNoWait</H3>
+<PRE>
+public javax.jms.Message <B>receiveNoWait</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>receiveNoWait</CODE> in interface <CODE>javax.jms.MessageConsumer</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public void <B>close</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>close</CODE> in interface <CODE>javax.jms.MessageConsumer</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMessageSelector()"><!-- --></A><H3>
+getMessageSelector</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getMessageSelector</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getMessageSelector</CODE> in interface <CODE>javax.jms.MessageConsumer</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMessageListener()"><!-- --></A><H3>
+getMessageListener</H3>
+<PRE>
+public javax.jms.MessageListener <B>getMessageListener</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getMessageListener</CODE> in interface <CODE>javax.jms.MessageConsumer</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setMessageListener(javax.jms.MessageListener)"><!-- --></A><H3>
+setMessageListener</H3>
+<PRE>
+public void <B>setMessageListener</B>(javax.jms.MessageListener listener)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>setMessageListener</CODE> in interface <CODE>javax.jms.MessageConsumer</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/MessageConsumerWrapper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jms/JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jms/MessageProducerConsumerKey.html" title="class in bitronix.tm.resource.jms"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jms/MessageConsumerWrapper.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="MessageConsumerWrapper.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/MessageProducerConsumerKey.html b/doc/api/bitronix/tm/resource/jms/MessageProducerConsumerKey.html
new file mode 100644
index 0000000..3c49319
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/MessageProducerConsumerKey.html
@@ -0,0 +1,343 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:05 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+MessageProducerConsumerKey (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="MessageProducerConsumerKey (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/MessageProducerConsumerKey.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jms/MessageProducerConsumerKey.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="MessageProducerConsumerKey.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jms</FONT>
+<BR>
+Class MessageProducerConsumerKey</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.jms.MessageProducerConsumerKey</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>MessageProducerConsumerKey</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+JMS destination wrapper optimized for use with hashed collections where it is the key and a
+ <CODE>MessageProducer</CODE> or a <CODE>MessageConsumer</CODE> is the value.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageProducerConsumerKey.html#MessageProducerConsumerKey(javax.jms.Destination)">MessageProducerConsumerKey</A></B>(javax.jms.Destination destination)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageProducerConsumerKey.html#MessageProducerConsumerKey(javax.jms.Destination, java.lang.String)">MessageProducerConsumerKey</A></B>(javax.jms.Destination destination,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> messageSelector)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageProducerConsumerKey.html#MessageProducerConsumerKey(javax.jms.Destination, java.lang.String, boolean)">MessageProducerConsumerKey</A></B>(javax.jms.Destination destination,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> messageSelector,
+ boolean noLocal)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageProducerConsumerKey.html#equals(java.lang.Object)">equals</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> obj)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageProducerConsumerKey.html#hashCode()">hashCode</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageProducerConsumerKey.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.c [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="MessageProducerConsumerKey(javax.jms.Destination)"><!-- --></A><H3>
+MessageProducerConsumerKey</H3>
+<PRE>
+public <B>MessageProducerConsumerKey</B>(javax.jms.Destination destination)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="MessageProducerConsumerKey(javax.jms.Destination, java.lang.String)"><!-- --></A><H3>
+MessageProducerConsumerKey</H3>
+<PRE>
+public <B>MessageProducerConsumerKey</B>(javax.jms.Destination destination,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> messageSelector)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="MessageProducerConsumerKey(javax.jms.Destination, java.lang.String, boolean)"><!-- --></A><H3>
+MessageProducerConsumerKey</H3>
+<PRE>
+public <B>MessageProducerConsumerKey</B>(javax.jms.Destination destination,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> messageSelector,
+ boolean noLocal)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="equals(java.lang.Object)"><!-- --></A><H3>
+equals</H3>
+<PRE>
+public boolean <B>equals</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> obj)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hashCode()"><!-- --></A><H3>
+hashCode</H3>
+<PRE>
+public int <B>hashCode</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/MessageProducerConsumerKey.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jms/MessageProducerConsumerKey.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="MessageProducerConsumerKey.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/MessageProducerWrapper.html b/doc/api/bitronix/tm/resource/jms/MessageProducerWrapper.html
new file mode 100644
index 0000000..8e9042e
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/MessageProducerWrapper.html
@@ -0,0 +1,773 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:05 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+MessageProducerWrapper (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="MessageProducerWrapper (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/MessageProducerWrapper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jms/MessageProducerConsumerKey.html" title="class in bitronix.tm.resource.jms"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jms/MessageProducerWrapper.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="MessageProducerWrapper.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jms</FONT>
+<BR>
+Class MessageProducerWrapper</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.jms.MessageProducerWrapper</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>javax.jms.MessageProducer</DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>MessageProducerWrapper</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements javax.jms.MessageProducer</DL>
+</PRE>
+
+<P>
+<CODE>MessageProducer</CODE> wrapper that adds XA enlistment semantics.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html#session">session</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html#MessageProducerWrapper(javax.jms.MessageProducer, bitronix.tm.resource.jms.DualSessionWrapper, bitronix.tm.resource.jms.PoolingConnectionFactory)">MessageProducerWrapper</A></B>(javax.jms.MessageProducer messageProducer,
+ <A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A> session,
+ <A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A> poolingConnectionFactory)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html#close()">close</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html#enlistResource()">enlistResource</A></B>()</CODE>
+
+<BR>
+ Enlist this session into the current transaction if automaticEnlistingEnabled = true for this resource.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html#getDeliveryMode()">getDeliveryMode</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.Destination</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html#getDestination()">getDestination</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html#getDisableMessageID()">getDisableMessageID</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html#getDisableMessageTimestamp()">getDisableMessageTimestamp</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.MessageProducer</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html#getMessageProducer()">getMessageProducer</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html#getPriority()">getPriority</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html#getTimeToLive()">getTimeToLive</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html#send(javax.jms.Destination, javax.jms.Message)">send</A></B>(javax.jms.Destination destination,
+ javax.jms.Message message)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html#send(javax.jms.Destination, javax.jms.Message, int, int, long)">send</A></B>(javax.jms.Destination destination,
+ javax.jms.Message message,
+ int deliveryMode,
+ int priority,
+ long timeToLive)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html#send(javax.jms.Message)">send</A></B>(javax.jms.Message message)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html#send(javax.jms.Message, int, int, long)">send</A></B>(javax.jms.Message message,
+ int deliveryMode,
+ int priority,
+ long timeToLive)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html#setDeliveryMode(int)">setDeliveryMode</A></B>(int deliveryMode)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html#setDisableMessageID(boolean)">setDisableMessageID</A></B>(boolean value)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html#setDisableMessageTimestamp(boolean)">setDisableMessageTimestamp</A></B>(boolean value)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html#setPriority(int)">setPriority</A></B>(int defaultPriority)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html#setTimeToLive(long)">setTimeToLive</A></B>(long timeToLive)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="session"><!-- --></A><H3>
+session</H3>
+<PRE>
+protected <A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A> <B>session</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="MessageProducerWrapper(javax.jms.MessageProducer, bitronix.tm.resource.jms.DualSessionWrapper, bitronix.tm.resource.jms.PoolingConnectionFactory)"><!-- --></A><H3>
+MessageProducerWrapper</H3>
+<PRE>
+public <B>MessageProducerWrapper</B>(javax.jms.MessageProducer messageProducer,
+ <A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A> session,
+ <A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A> poolingConnectionFactory)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getMessageProducer()"><!-- --></A><H3>
+getMessageProducer</H3>
+<PRE>
+public javax.jms.MessageProducer <B>getMessageProducer</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="enlistResource()"><!-- --></A><H3>
+enlistResource</H3>
+<PRE>
+protected void <B>enlistResource</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD>Enlist this session into the current transaction if automaticEnlistingEnabled = true for this resource.
+ If no transaction is running then this method does nothing.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="send(javax.jms.Message)"><!-- --></A><H3>
+send</H3>
+<PRE>
+public void <B>send</B>(javax.jms.Message message)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>send</CODE> in interface <CODE>javax.jms.MessageProducer</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="send(javax.jms.Message, int, int, long)"><!-- --></A><H3>
+send</H3>
+<PRE>
+public void <B>send</B>(javax.jms.Message message,
+ int deliveryMode,
+ int priority,
+ long timeToLive)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>send</CODE> in interface <CODE>javax.jms.MessageProducer</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="send(javax.jms.Destination, javax.jms.Message)"><!-- --></A><H3>
+send</H3>
+<PRE>
+public void <B>send</B>(javax.jms.Destination destination,
+ javax.jms.Message message)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>send</CODE> in interface <CODE>javax.jms.MessageProducer</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="send(javax.jms.Destination, javax.jms.Message, int, int, long)"><!-- --></A><H3>
+send</H3>
+<PRE>
+public void <B>send</B>(javax.jms.Destination destination,
+ javax.jms.Message message,
+ int deliveryMode,
+ int priority,
+ long timeToLive)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>send</CODE> in interface <CODE>javax.jms.MessageProducer</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public void <B>close</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>close</CODE> in interface <CODE>javax.jms.MessageProducer</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDisableMessageID(boolean)"><!-- --></A><H3>
+setDisableMessageID</H3>
+<PRE>
+public void <B>setDisableMessageID</B>(boolean value)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>setDisableMessageID</CODE> in interface <CODE>javax.jms.MessageProducer</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDisableMessageID()"><!-- --></A><H3>
+getDisableMessageID</H3>
+<PRE>
+public boolean <B>getDisableMessageID</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getDisableMessageID</CODE> in interface <CODE>javax.jms.MessageProducer</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDisableMessageTimestamp(boolean)"><!-- --></A><H3>
+setDisableMessageTimestamp</H3>
+<PRE>
+public void <B>setDisableMessageTimestamp</B>(boolean value)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>setDisableMessageTimestamp</CODE> in interface <CODE>javax.jms.MessageProducer</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDisableMessageTimestamp()"><!-- --></A><H3>
+getDisableMessageTimestamp</H3>
+<PRE>
+public boolean <B>getDisableMessageTimestamp</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getDisableMessageTimestamp</CODE> in interface <CODE>javax.jms.MessageProducer</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDeliveryMode(int)"><!-- --></A><H3>
+setDeliveryMode</H3>
+<PRE>
+public void <B>setDeliveryMode</B>(int deliveryMode)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>setDeliveryMode</CODE> in interface <CODE>javax.jms.MessageProducer</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDeliveryMode()"><!-- --></A><H3>
+getDeliveryMode</H3>
+<PRE>
+public int <B>getDeliveryMode</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getDeliveryMode</CODE> in interface <CODE>javax.jms.MessageProducer</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPriority(int)"><!-- --></A><H3>
+setPriority</H3>
+<PRE>
+public void <B>setPriority</B>(int defaultPriority)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>setPriority</CODE> in interface <CODE>javax.jms.MessageProducer</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPriority()"><!-- --></A><H3>
+getPriority</H3>
+<PRE>
+public int <B>getPriority</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getPriority</CODE> in interface <CODE>javax.jms.MessageProducer</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setTimeToLive(long)"><!-- --></A><H3>
+setTimeToLive</H3>
+<PRE>
+public void <B>setTimeToLive</B>(long timeToLive)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>setTimeToLive</CODE> in interface <CODE>javax.jms.MessageProducer</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTimeToLive()"><!-- --></A><H3>
+getTimeToLive</H3>
+<PRE>
+public long <B>getTimeToLive</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getTimeToLive</CODE> in interface <CODE>javax.jms.MessageProducer</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getDestination()"><!-- --></A><H3>
+getDestination</H3>
+<PRE>
+public javax.jms.Destination <B>getDestination</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getDestination</CODE> in interface <CODE>javax.jms.MessageProducer</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/MessageProducerWrapper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jms/MessageProducerConsumerKey.html" title="class in bitronix.tm.resource.jms"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jms/MessageProducerWrapper.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="MessageProducerWrapper.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/PoolingConnectionFactory.html b/doc/api/bitronix/tm/resource/jms/PoolingConnectionFactory.html
new file mode 100644
index 0000000..6e6ae56
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/PoolingConnectionFactory.html
@@ -0,0 +1,835 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:05 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+PoolingConnectionFactory (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="PoolingConnectionFactory (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PoolingConnectionFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" title="interface in bitronix.tm.resource.jms"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jms/PoolingConnectionFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PoolingConnectionFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jms</FONT>
+<BR>
+Class PoolingConnectionFactory</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">bitronix.tm.resource.common.ResourceBean</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.jms.PoolingConnectionFactory</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A>, <A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" title="interface in bitronix.tm.resource.jms">PoolingConnectionFactoryMBean</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializ [...]
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>PoolingConnectionFactory</B><DT>extends <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A><DT>implements javax.jms.ConnectionFactory, <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A>, <A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" title="interface in bitro [...]
+</PRE>
+
+<P>
+Implementation of a JMS <CODE>ConnectionFactory</CODE> wrapping vendor's <CODE>XAConnectionFactory</CODE> implementation.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#bitronix.tm.resource.jms.PoolingConnectionFactory">Serialized Form</A></DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html#PoolingConnectionFactory()">PoolingConnectionFactory</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html#close()">close</A></B>()</CODE>
+
+<BR>
+ Release this <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>'s internal resources.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.Connection</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html#createConnection()">createConnection</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.Connection</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html#createConnection(java.lang.String, java.lang.String)">createConnection</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> userName,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> password)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html#createPooledConnection(java.lang.Object, bitronix.tm.resource.common.ResourceBean)">createPooledConnection</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> xaFactory,
+ <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)</CODE>
+
+<BR>
+ Create a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that will be placed in an <A HREF="../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common"><CODE>XAPool</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html#endRecovery()">endRecovery</A></B>()</CODE>
+
+<BR>
+ Release internal resources held after call to <code>startRecovery()</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html#findXAResourceHolder(javax.transaction.xa.XAResource)">findXAResourceHolder</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)</CODE>
+
+<BR>
+ Find in the <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> the one which this
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> belongs to.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html#getCacheProducersConsumers()">getCacheProducersConsumers</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html#getInPoolSize()">getInPoolSize</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html#getPassword()">getPassword</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Reference.html?is-external=true" title="class or interface in javax.naming">Reference</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html#getReference()">getReference</A></B>()</CODE>
+
+<BR>
+ <A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms"><CODE>PoolingConnectionFactory</CODE></A> must alway have a unique name so this method builds a reference to this object
+ using the unique name as <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/RefAddr.html?is-external=true" title="class or interface in javax.naming"><CODE>RefAddr</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html#getTestConnections()">getTestConnections</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html#getTotalPoolSize()">getTotalPoolSize</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html#getUser()">getUser</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html#init()">init</A></B>()</CODE>
+
+<BR>
+ Initialize the pool by creating the initial amount of connections.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html#isFailed()">isFailed</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html#reset()">reset</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html#setCacheProducersConsumers(boolean)">setCacheProducersConsumers</A></B>(boolean cacheProducersConsumers)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html#setFailed(boolean)">setFailed</A></B>(boolean failed)</CODE>
+
+<BR>
+ Mark this resource producer as failed or not.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html#setPassword(java.lang.String)">setPassword</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> password)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html#setTestConnections(boolean)">setTestConnections</A></B>(boolean testConnections)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html#setUser(java.lang.String)">setUser</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> user)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html#startRecovery()">startRecovery</A></B>()</CODE>
+
+<BR>
+ Prepare the recoverable <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> producer for recovery.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.common.ResourceBean"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#getAcquireIncrement()">getAcquireIncrement</A>, <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#getAcquisitionInterval()">getAcquisitionInterval</A>, <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#getAcquisitionTimeout()">getAcquisitionTimeout</A>, <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html#getAllowLocalTransactions()">getAllowLocalTransactions</A>, [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.common.XAResourceProducer"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from interface bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#getUniqueName()">getUniqueName</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.jms.PoolingConnectionFactoryMBean"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from interface bitronix.tm.resource.jms.<A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" title="interface in bitronix.tm.resource.jms">PoolingConnectionFactoryMBean</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html#getMaxPoolSize()">getMaxPoolSize</A>, <A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html#getMinPoolSize()">getMinPoolSize</A>, <A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html#isDisabled()">isDisabled</A>, <A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html#setDisabled(boolean)">setDisabled</A></CODE></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="PoolingConnectionFactory()"><!-- --></A><H3>
+PoolingConnectionFactory</H3>
+<PRE>
+public <B>PoolingConnectionFactory</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="init()"><!-- --></A><H3>
+init</H3>
+<PRE>
+public void <B>init</B>()</PRE>
+<DL>
+<DD>Initialize the pool by creating the initial amount of connections.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#init()">init</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getCacheProducersConsumers()"><!-- --></A><H3>
+getCacheProducersConsumers</H3>
+<PRE>
+public boolean <B>getCacheProducersConsumers</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setCacheProducersConsumers(boolean)"><!-- --></A><H3>
+setCacheProducersConsumers</H3>
+<PRE>
+public void <B>setCacheProducersConsumers</B>(boolean cacheProducersConsumers)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTestConnections()"><!-- --></A><H3>
+getTestConnections</H3>
+<PRE>
+public boolean <B>getTestConnections</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setTestConnections(boolean)"><!-- --></A><H3>
+setTestConnections</H3>
+<PRE>
+public void <B>setTestConnections</B>(boolean testConnections)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getUser()"><!-- --></A><H3>
+getUser</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getUser</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setUser(java.lang.String)"><!-- --></A><H3>
+setUser</H3>
+<PRE>
+public void <B>setUser</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> user)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getPassword()"><!-- --></A><H3>
+getPassword</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getPassword</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setPassword(java.lang.String)"><!-- --></A><H3>
+setPassword</H3>
+<PRE>
+public void <B>setPassword</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> password)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createConnection()"><!-- --></A><H3>
+createConnection</H3>
+<PRE>
+public javax.jms.Connection <B>createConnection</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createConnection</CODE> in interface <CODE>javax.jms.ConnectionFactory</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createConnection(java.lang.String, java.lang.String)"><!-- --></A><H3>
+createConnection</H3>
+<PRE>
+public javax.jms.Connection <B>createConnection</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> userName,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> password)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createConnection</CODE> in interface <CODE>javax.jms.ConnectionFactory</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="startRecovery()"><!-- --></A><H3>
+startRecovery</H3>
+<PRE>
+public <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> <B>startRecovery</B>()
+ throws <A HREF="../../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A></PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#startRecovery()">XAResourceProducer</A></CODE></B></DD>
+<DD>Prepare the recoverable <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> producer for recovery.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#startRecovery()">startRecovery</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A> object that can be used to call <code>recover()</code>.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A></CODE> - thrown when a <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A> cannot be acquired.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="endRecovery()"><!-- --></A><H3>
+endRecovery</H3>
+<PRE>
+public void <B>endRecovery</B>()
+ throws <A HREF="../../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A></PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#endRecovery()">XAResourceProducer</A></CODE></B></DD>
+<DD>Release internal resources held after call to <code>startRecovery()</code>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#endRecovery()">endRecovery</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../../bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A></CODE> - thrown when an error occured while releasing reserved resources.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setFailed(boolean)"><!-- --></A><H3>
+setFailed</H3>
+<PRE>
+public void <B>setFailed</B>(boolean failed)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#setFailed(boolean)">XAResourceProducer</A></CODE></B></DD>
+<DD>Mark this resource producer as failed or not. A resource is considered failed if recovery fails to run on it.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#setFailed(boolean)">setFailed</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>failed</CODE> - true is the resource must be considered failed, false it it must be considered sane.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isFailed()"><!-- --></A><H3>
+isFailed</H3>
+<PRE>
+public boolean <B>isFailed</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html#isFailed()">isFailed</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" title="interface in bitronix.tm.resource.jms">PoolingConnectionFactoryMBean</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public void <B>close</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#close()">XAResourceProducer</A></CODE></B></DD>
+<DD>Release this <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>'s internal resources.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#close()">close</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createPooledConnection(java.lang.Object, bitronix.tm.resource.common.ResourceBean)"><!-- --></A><H3>
+createPooledConnection</H3>
+<PRE>
+public <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A> <B>createPooledConnection</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> xaFactory,
+ <A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> bean)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#createPooledConnection(java.lang.Object, bitronix.tm.resource.common.ResourceBean)">XAResourceProducer</A></CODE></B></DD>
+<DD>Create a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that will be placed in an <A HREF="../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common"><CODE>XAPool</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#createPooledConnection(java.lang.Object, bitronix.tm.resource.common.ResourceBean)">createPooledConnection</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xaFactory</CODE> - the vendor's resource-specific XA factory.<DD><CODE>bean</CODE> - the resource-specific bean describing the resource parameters.
+<DT><B>Returns:</B><DD>a <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that will be placed in an <A HREF="../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common"><CODE>XAPool</CODE></A>.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - thrown when the <A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> cannot be created.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="findXAResourceHolder(javax.transaction.xa.XAResource)"><!-- --></A><H3>
+findXAResourceHolder</H3>
+<PRE>
+public <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A> <B>findXAResourceHolder</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#findXAResourceHolder(javax.transaction.xa.XAResource)">XAResourceProducer</A></CODE></B></DD>
+<DD>Find in the <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> the one which this
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> belongs to.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html#findXAResourceHolder(javax.transaction.xa.XAResource)">findXAResourceHolder</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xaResource</CODE> - the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> to look for.
+<DT><B>Returns:</B><DD>the associated <A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> or null if the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> does not belong to this
+ <A HREF="../../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getReference()"><!-- --></A><H3>
+getReference</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Reference.html?is-external=true" title="class or interface in javax.naming">Reference</A> <B>getReference</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></PRE>
+<DL>
+<DD><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms"><CODE>PoolingConnectionFactory</CODE></A> must alway have a unique name so this method builds a reference to this object
+ using the unique name as <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/RefAddr.html?is-external=true" title="class or interface in javax.naming"><CODE>RefAddr</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Referenceable.html?is-external=true#getReference()" title="class or interface in javax.naming">getReference</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Referenceable.html?is-external=true" title="class or interface in javax.naming">Referenceable</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a reference to this <A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms"><CODE>PoolingConnectionFactory</CODE></A>.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/NamingException.html?is-external=true" title="class or interface in javax.naming">NamingException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInPoolSize()"><!-- --></A><H3>
+getInPoolSize</H3>
+<PRE>
+public long <B>getInPoolSize</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html#getInPoolSize()">getInPoolSize</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" title="interface in bitronix.tm.resource.jms">PoolingConnectionFactoryMBean</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTotalPoolSize()"><!-- --></A><H3>
+getTotalPoolSize</H3>
+<PRE>
+public long <B>getTotalPoolSize</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html#getTotalPoolSize()">getTotalPoolSize</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" title="interface in bitronix.tm.resource.jms">PoolingConnectionFactoryMBean</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="reset()"><!-- --></A><H3>
+reset</H3>
+<PRE>
+public void <B>reset</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html#reset()">reset</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" title="interface in bitronix.tm.resource.jms">PoolingConnectionFactoryMBean</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PoolingConnectionFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" title="interface in bitronix.tm.resource.jms"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jms/PoolingConnectionFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PoolingConnectionFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html b/doc/api/bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html
new file mode 100644
index 0000000..582c04f
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html
@@ -0,0 +1,350 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:05 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+PoolingConnectionFactoryMBean (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="PoolingConnectionFactoryMBean (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PoolingConnectionFactoryMBean.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jms/TopicSubscriberWrapper.html" title="class in bitronix.tm.resource.jms"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PoolingConnectionFactoryMBean.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jms</FONT>
+<BR>
+Interface PoolingConnectionFactoryMBean</H2>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public interface <B>PoolingConnectionFactoryMBean</B></DL>
+</PRE>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html#getInPoolSize()">getInPoolSize</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html#getMaxPoolSize()">getMaxPoolSize</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html#getMinPoolSize()">getMinPoolSize</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html#getTotalPoolSize()">getTotalPoolSize</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html#isDisabled()">isDisabled</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html#isFailed()">isFailed</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html#reset()">reset</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html#setDisabled(boolean)">setDisabled</A></B>(boolean disabled)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getMinPoolSize()"><!-- --></A><H3>
+getMinPoolSize</H3>
+<PRE>
+int <B>getMinPoolSize</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMaxPoolSize()"><!-- --></A><H3>
+getMaxPoolSize</H3>
+<PRE>
+int <B>getMaxPoolSize</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInPoolSize()"><!-- --></A><H3>
+getInPoolSize</H3>
+<PRE>
+long <B>getInPoolSize</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTotalPoolSize()"><!-- --></A><H3>
+getTotalPoolSize</H3>
+<PRE>
+long <B>getTotalPoolSize</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isFailed()"><!-- --></A><H3>
+isFailed</H3>
+<PRE>
+boolean <B>isFailed</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="reset()"><!-- --></A><H3>
+reset</H3>
+<PRE>
+void <B>reset</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isDisabled()"><!-- --></A><H3>
+isDisabled</H3>
+<PRE>
+boolean <B>isDisabled</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setDisabled(boolean)"><!-- --></A><H3>
+setDisabled</H3>
+<PRE>
+void <B>setDisabled</B>(boolean disabled)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PoolingConnectionFactoryMBean.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jms/TopicSubscriberWrapper.html" title="class in bitronix.tm.resource.jms"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PoolingConnectionFactoryMBean.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/TopicSubscriberWrapper.html b/doc/api/bitronix/tm/resource/jms/TopicSubscriberWrapper.html
new file mode 100644
index 0000000..61f3fc5
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/TopicSubscriberWrapper.html
@@ -0,0 +1,358 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:05 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+TopicSubscriberWrapper (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="TopicSubscriberWrapper (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TopicSubscriberWrapper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" title="interface in bitronix.tm.resource.jms"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jms/TopicSubscriberWrapper.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TopicSubscriberWrapper.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_bitronix.tm.resource.jms.MessageConsumerWrapper">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jms</FONT>
+<BR>
+Class TopicSubscriberWrapper</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms">bitronix.tm.resource.jms.MessageConsumerWrapper</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.jms.TopicSubscriberWrapper</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>javax.jms.MessageConsumer, javax.jms.TopicSubscriber</DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>TopicSubscriberWrapper</B><DT>extends <A HREF="../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms">MessageConsumerWrapper</A><DT>implements javax.jms.TopicSubscriber</DL>
+</PRE>
+
+<P>
+<CODE>TopicSubscriber</CODE> wrapper that adds XA enlistment semantics.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_bitronix.tm.resource.jms.MessageConsumerWrapper"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class bitronix.tm.resource.jms.<A HREF="../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms">MessageConsumerWrapper</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html#session">session</A></CODE></TD>
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/TopicSubscriberWrapper.html#TopicSubscriberWrapper(javax.jms.TopicSubscriber, bitronix.tm.resource.jms.DualSessionWrapper, bitronix.tm.resource.jms.PoolingConnectionFactory)">TopicSubscriberWrapper</A></B>(javax.jms.TopicSubscriber topicSubscriber,
+ <A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A> session,
+ <A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A> poolingConnectionFactory)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/TopicSubscriberWrapper.html#getNoLocal()">getNoLocal</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.Topic</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/TopicSubscriberWrapper.html#getTopic()">getTopic</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/jms/TopicSubscriberWrapper.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.resource.jms.MessageConsumerWrapper"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class bitronix.tm.resource.jms.<A HREF="../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms">MessageConsumerWrapper</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html#close()">close</A>, <A HREF="../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html#enlistResource()">enlistResource</A>, <A HREF="../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html#getMessageConsumer()">getMessageConsumer</A>, <A HREF="../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html#getMessageListener()">getMessageListener</A>, <A HREF="../../../../bitronix/tm/res [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_javax.jms.MessageConsumer"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from interface javax.jms.MessageConsumer</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>close, getMessageListener, getMessageSelector, receive, receive, receiveNoWait, setMessageListener</CODE></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="TopicSubscriberWrapper(javax.jms.TopicSubscriber, bitronix.tm.resource.jms.DualSessionWrapper, bitronix.tm.resource.jms.PoolingConnectionFactory)"><!-- --></A><H3>
+TopicSubscriberWrapper</H3>
+<PRE>
+public <B>TopicSubscriberWrapper</B>(javax.jms.TopicSubscriber topicSubscriber,
+ <A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A> session,
+ <A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A> poolingConnectionFactory)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getTopic()"><!-- --></A><H3>
+getTopic</H3>
+<PRE>
+public javax.jms.Topic <B>getTopic</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getTopic</CODE> in interface <CODE>javax.jms.TopicSubscriber</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNoLocal()"><!-- --></A><H3>
+getNoLocal</H3>
+<PRE>
+public boolean <B>getNoLocal</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getNoLocal</CODE> in interface <CODE>javax.jms.TopicSubscriber</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html#toString()">toString</A></CODE> in class <CODE><A HREF="../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms">MessageConsumerWrapper</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TopicSubscriberWrapper.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" title="interface in bitronix.tm.resource.jms"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jms/TopicSubscriberWrapper.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TopicSubscriberWrapper.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#fields_inherited_from_class_bitronix.tm.resource.jms.MessageConsumerWrapper">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/class-use/DualSessionWrapper.html b/doc/api/bitronix/tm/resource/jms/class-use/DualSessionWrapper.html
new file mode 100644
index 0000000..e4012d9
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/class-use/DualSessionWrapper.html
@@ -0,0 +1,222 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.jms.DualSessionWrapper (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.jms.DualSessionWrapper (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms//class-useDualSessionWrapper.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="DualSessionWrapper.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.jms.DualSessionWrapper</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jms"><B>bitronix.tm.resource.jms</B></A></TD>
+<TD>
+ Synchronous JMS specific resource management code. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jms"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A> in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Fields in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A> declared as <A HREF="../../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A></CODE></FONT></TD>
+<TD><CODE><B>MessageProducerWrapper.</B><B><A HREF="../../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html#session">session</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A></CODE></FONT></TD>
+<TD><CODE><B>MessageConsumerWrapper.</B><B><A HREF="../../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html#session">session</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A> with parameters of type <A HREF="../../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html#MessageConsumerWrapper(javax.jms.MessageConsumer, bitronix.tm.resource.jms.DualSessionWrapper, bitronix.tm.resource.jms.PoolingConnectionFactory)">MessageConsumerWrapper</A></B>(javax.jms.MessageConsumer messageConsumer,
+ <A HREF="../../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A> session,
+ <A HREF="../../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A> poolingConnectionFactory)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html#MessageProducerWrapper(javax.jms.MessageProducer, bitronix.tm.resource.jms.DualSessionWrapper, bitronix.tm.resource.jms.PoolingConnectionFactory)">MessageProducerWrapper</A></B>(javax.jms.MessageProducer messageProducer,
+ <A HREF="../../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A> session,
+ <A HREF="../../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A> poolingConnectionFactory)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/TopicSubscriberWrapper.html#TopicSubscriberWrapper(javax.jms.TopicSubscriber, bitronix.tm.resource.jms.DualSessionWrapper, bitronix.tm.resource.jms.PoolingConnectionFactory)">TopicSubscriberWrapper</A></B>(javax.jms.TopicSubscriber topicSubscriber,
+ <A HREF="../../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A> session,
+ <A HREF="../../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A> poolingConnectionFactory)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms//class-useDualSessionWrapper.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="DualSessionWrapper.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/class-use/JmsConnectionHandle.html b/doc/api/bitronix/tm/resource/jms/class-use/JmsConnectionHandle.html
new file mode 100644
index 0000000..af0c0c2
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/class-use/JmsConnectionHandle.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.jms.JmsConnectionHandle (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.jms.JmsConnectionHandle (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jms/JmsConnectionHandle.html" title="class in bitronix.tm.resource.jms"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms//class-useJmsConnectionHandle.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JmsConnectionHandle.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.jms.JmsConnectionHandle</B></H2>
+</CENTER>
+No usage of bitronix.tm.resource.jms.JmsConnectionHandle
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jms/JmsConnectionHandle.html" title="class in bitronix.tm.resource.jms"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms//class-useJmsConnectionHandle.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JmsConnectionHandle.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/class-use/JmsPooledConnection.html b/doc/api/bitronix/tm/resource/jms/class-use/JmsPooledConnection.html
new file mode 100644
index 0000000..6e5fa68
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/class-use/JmsPooledConnection.html
@@ -0,0 +1,205 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.jms.JmsPooledConnection (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.jms.JmsPooledConnection (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms//class-useJmsPooledConnection.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JmsPooledConnection.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.jms.JmsPooledConnection</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jms"><B>bitronix.tm.resource.jms</B></A></TD>
+<TD>
+ Synchronous JMS specific resource management code. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jms"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A> in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A> that return <A HREF="../../../../../bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A></CODE></FONT></TD>
+<TD><CODE><B>JmsConnectionHandle.</B><B><A HREF="../../../../../bitronix/tm/resource/jms/JmsConnectionHandle.html#getPooledConnection()">getPooledConnection</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A> with parameters of type <A HREF="../../../../../bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#DualSessionWrapper(bitronix.tm.resource.jms.JmsPooledConnection, boolean, int)">DualSessionWrapper</A></B>(<A HREF="../../../../../bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A> pooledConnection,
+ boolean transacted,
+ int acknowledgeMode)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/JmsConnectionHandle.html#JmsConnectionHandle(bitronix.tm.resource.jms.JmsPooledConnection, javax.jms.XAConnection)">JmsConnectionHandle</A></B>(<A HREF="../../../../../bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A> pooledConnection,
+ javax.jms.XAConnection xaConnection)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms//class-useJmsPooledConnection.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JmsPooledConnection.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/class-use/JmsPooledConnectionMBean.html b/doc/api/bitronix/tm/resource/jms/class-use/JmsPooledConnectionMBean.html
new file mode 100644
index 0000000..52a57e9
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/class-use/JmsPooledConnectionMBean.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Interface bitronix.tm.resource.jms.JmsPooledConnectionMBean (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface bitronix.tm.resource.jms.JmsPooledConnectionMBean (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jms/JmsPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jms"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms//class-useJmsPooledConnectionMBean.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JmsPooledConnectionMBean.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>bitronix.tm.resource.jms.JmsPooledConnectionMBean</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../bitronix/tm/resource/jms/JmsPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jms">JmsPooledConnectionMBean</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jms"><B>bitronix.tm.resource.jms</B></A></TD>
+<TD>
+ Synchronous JMS specific resource management code. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jms"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/jms/JmsPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jms">JmsPooledConnectionMBean</A> in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A> that implement <A HREF="../../../../../bitronix/tm/resource/jms/JmsPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jms">JmsPooledConnectionMBean</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A></B></CODE>
+
+<BR>
+ Implementation of a JMS pooled connection wrapping vendor's <CODE>XAConnection</CODE> implementation.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jms/JmsPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jms"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms//class-useJmsPooledConnectionMBean.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JmsPooledConnectionMBean.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/class-use/JndiXAConnectionFactory.html b/doc/api/bitronix/tm/resource/jms/class-use/JndiXAConnectionFactory.html
new file mode 100644
index 0000000..7a09ca3
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/class-use/JndiXAConnectionFactory.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.jms.JndiXAConnectionFactory (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.jms.JndiXAConnectionFactory (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jms/JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms//class-useJndiXAConnectionFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JndiXAConnectionFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.jms.JndiXAConnectionFactory</B></H2>
+</CENTER>
+No usage of bitronix.tm.resource.jms.JndiXAConnectionFactory
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jms/JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms//class-useJndiXAConnectionFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="JndiXAConnectionFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/class-use/MessageConsumerWrapper.html b/doc/api/bitronix/tm/resource/jms/class-use/MessageConsumerWrapper.html
new file mode 100644
index 0000000..3eccb08
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/class-use/MessageConsumerWrapper.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.jms.MessageConsumerWrapper (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.jms.MessageConsumerWrapper (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms//class-useMessageConsumerWrapper.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="MessageConsumerWrapper.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.jms.MessageConsumerWrapper</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms">MessageConsumerWrapper</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jms"><B>bitronix.tm.resource.jms</B></A></TD>
+<TD>
+ Synchronous JMS specific resource management code. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jms"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms">MessageConsumerWrapper</A> in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms">MessageConsumerWrapper</A> in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/TopicSubscriberWrapper.html" title="class in bitronix.tm.resource.jms">TopicSubscriberWrapper</A></B></CODE>
+
+<BR>
+ <CODE>TopicSubscriber</CODE> wrapper that adds XA enlistment semantics.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms//class-useMessageConsumerWrapper.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="MessageConsumerWrapper.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/class-use/MessageProducerConsumerKey.html b/doc/api/bitronix/tm/resource/jms/class-use/MessageProducerConsumerKey.html
new file mode 100644
index 0000000..7e114ea
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/class-use/MessageProducerConsumerKey.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.jms.MessageProducerConsumerKey (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.jms.MessageProducerConsumerKey (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jms/MessageProducerConsumerKey.html" title="class in bitronix.tm.resource.jms"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms//class-useMessageProducerConsumerKey.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="MessageProducerConsumerKey.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.jms.MessageProducerConsumerKey</B></H2>
+</CENTER>
+No usage of bitronix.tm.resource.jms.MessageProducerConsumerKey
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jms/MessageProducerConsumerKey.html" title="class in bitronix.tm.resource.jms"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms//class-useMessageProducerConsumerKey.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="MessageProducerConsumerKey.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/class-use/MessageProducerWrapper.html b/doc/api/bitronix/tm/resource/jms/class-use/MessageProducerWrapper.html
new file mode 100644
index 0000000..abcad7b
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/class-use/MessageProducerWrapper.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.jms.MessageProducerWrapper (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.jms.MessageProducerWrapper (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms//class-useMessageProducerWrapper.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="MessageProducerWrapper.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.jms.MessageProducerWrapper</B></H2>
+</CENTER>
+No usage of bitronix.tm.resource.jms.MessageProducerWrapper
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms//class-useMessageProducerWrapper.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="MessageProducerWrapper.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/class-use/PoolingConnectionFactory.html b/doc/api/bitronix/tm/resource/jms/class-use/PoolingConnectionFactory.html
new file mode 100644
index 0000000..6766fd9
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/class-use/PoolingConnectionFactory.html
@@ -0,0 +1,229 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.jms.PoolingConnectionFactory (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.jms.PoolingConnectionFactory (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms//class-usePoolingConnectionFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PoolingConnectionFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.jms.PoolingConnectionFactory</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jms"><B>bitronix.tm.resource.jms</B></A></TD>
+<TD>
+ Synchronous JMS specific resource management code. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jms"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A> in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A> that return <A HREF="../../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A></CODE></FONT></TD>
+<TD><CODE><B>JmsPooledConnection.</B><B><A HREF="../../../../../bitronix/tm/resource/jms/JmsPooledConnection.html#getPoolingConnectionFactory()">getPoolingConnectionFactory</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A></CODE></FONT></TD>
+<TD><CODE><B>DualSessionWrapper.</B><B><A HREF="../../../../../bitronix/tm/resource/jms/DualSessionWrapper.html#getPoolingConnectionFactory()">getPoolingConnectionFactory</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A> with parameters of type <A HREF="../../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/JmsPooledConnection.html#JmsPooledConnection(bitronix.tm.resource.jms.PoolingConnectionFactory, javax.jms.XAConnection)">JmsPooledConnection</A></B>(<A HREF="../../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A> poolingConnectionFactory,
+ javax.jms.XAConnection connection)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html#MessageConsumerWrapper(javax.jms.MessageConsumer, bitronix.tm.resource.jms.DualSessionWrapper, bitronix.tm.resource.jms.PoolingConnectionFactory)">MessageConsumerWrapper</A></B>(javax.jms.MessageConsumer messageConsumer,
+ <A HREF="../../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A> session,
+ <A HREF="../../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A> poolingConnectionFactory)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html#MessageProducerWrapper(javax.jms.MessageProducer, bitronix.tm.resource.jms.DualSessionWrapper, bitronix.tm.resource.jms.PoolingConnectionFactory)">MessageProducerWrapper</A></B>(javax.jms.MessageProducer messageProducer,
+ <A HREF="../../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A> session,
+ <A HREF="../../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A> poolingConnectionFactory)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/TopicSubscriberWrapper.html#TopicSubscriberWrapper(javax.jms.TopicSubscriber, bitronix.tm.resource.jms.DualSessionWrapper, bitronix.tm.resource.jms.PoolingConnectionFactory)">TopicSubscriberWrapper</A></B>(javax.jms.TopicSubscriber topicSubscriber,
+ <A HREF="../../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A> session,
+ <A HREF="../../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A> poolingConnectionFactory)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms//class-usePoolingConnectionFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PoolingConnectionFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/class-use/PoolingConnectionFactoryMBean.html b/doc/api/bitronix/tm/resource/jms/class-use/PoolingConnectionFactoryMBean.html
new file mode 100644
index 0000000..91510f7
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/class-use/PoolingConnectionFactoryMBean.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Interface bitronix.tm.resource.jms.PoolingConnectionFactoryMBean (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface bitronix.tm.resource.jms.PoolingConnectionFactoryMBean (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" title="interface in bitronix.tm.resource.jms"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms//class-usePoolingConnectionFactoryMBean.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PoolingConnectionFactoryMBean.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>bitronix.tm.resource.jms.PoolingConnectionFactoryMBean</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" title="interface in bitronix.tm.resource.jms">PoolingConnectionFactoryMBean</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jms"><B>bitronix.tm.resource.jms</B></A></TD>
+<TD>
+ Synchronous JMS specific resource management code. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jms"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" title="interface in bitronix.tm.resource.jms">PoolingConnectionFactoryMBean</A> in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A> that implement <A HREF="../../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" title="interface in bitronix.tm.resource.jms">PoolingConnectionFactoryMBean</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A></B></CODE>
+
+<BR>
+ Implementation of a JMS <CODE>ConnectionFactory</CODE> wrapping vendor's <CODE>XAConnectionFactory</CODE> implementation.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" title="interface in bitronix.tm.resource.jms"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms//class-usePoolingConnectionFactoryMBean.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PoolingConnectionFactoryMBean.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/class-use/TopicSubscriberWrapper.html b/doc/api/bitronix/tm/resource/jms/class-use/TopicSubscriberWrapper.html
new file mode 100644
index 0000000..e1733fd
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/class-use/TopicSubscriberWrapper.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.jms.TopicSubscriberWrapper (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.jms.TopicSubscriberWrapper (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jms/TopicSubscriberWrapper.html" title="class in bitronix.tm.resource.jms"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms//class-useTopicSubscriberWrapper.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TopicSubscriberWrapper.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.jms.TopicSubscriberWrapper</B></H2>
+</CENTER>
+No usage of bitronix.tm.resource.jms.TopicSubscriberWrapper
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/resource/jms/TopicSubscriberWrapper.html" title="class in bitronix.tm.resource.jms"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms//class-useTopicSubscriberWrapper.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TopicSubscriberWrapper.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/lrc/LrcXAConnection.html b/doc/api/bitronix/tm/resource/jms/lrc/LrcXAConnection.html
new file mode 100644
index 0000000..359b30a
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/lrc/LrcXAConnection.html
@@ -0,0 +1,583 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:05 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+LrcXAConnection (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="LrcXAConnection (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LrcXAConnection.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html" title="class in bitronix.tm.resource.jms.lrc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms/lrc/LrcXAConnection.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcXAConnection.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jms.lrc</FONT>
+<BR>
+Class LrcXAConnection</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.jms.lrc.LrcXAConnection</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>javax.jms.Connection, javax.jms.XAConnection</DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>LrcXAConnection</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements javax.jms.XAConnection</DL>
+</PRE>
+
+<P>
+XAConnection implementation for a non-XA JMS resource emulating XA with Last Resource Commit.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnection.html#LrcXAConnection(javax.jms.Connection)">LrcXAConnection</A></B>(javax.jms.Connection connection)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnection.html#close()">close</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.ConnectionConsumer</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnection.html#createConnectionConsumer(javax.jms.Destination, java.lang.String, javax.jms.ServerSessionPool, int)">createConnectionConsumer</A></B>(javax.jms.Destination destination,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> messageSelector,
+ javax.jms.ServerSessionPool serverSessionPool,
+ int maxMessages)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.ConnectionConsumer</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnection.html#createDurableConnectionConsumer(javax.jms.Topic, java.lang.String, java.lang.String, javax.jms.ServerSessionPool, int)">createDurableConnectionConsumer</A></B>(javax.jms.Topic topic,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> subscriptionName,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> messageSelector,
+ javax.jms.ServerSessionPool serverSessionPool,
+ int maxMessages)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.Session</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnection.html#createSession(boolean, int)">createSession</A></B>(boolean transacted,
+ int acknowledgeMode)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.XASession</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnection.html#createXASession()">createXASession</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnection.html#getClientID()">getClientID</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.ExceptionListener</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnection.html#getExceptionListener()">getExceptionListener</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.ConnectionMetaData</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnection.html#getMetaData()">getMetaData</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnection.html#setClientID(java.lang.String)">setClientID</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> clientID)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnection.html#setExceptionListener(javax.jms.ExceptionListener)">setExceptionListener</A></B>(javax.jms.ExceptionListener exceptionListener)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnection.html#start()">start</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnection.html#stop()">stop</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnection.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="LrcXAConnection(javax.jms.Connection)"><!-- --></A><H3>
+LrcXAConnection</H3>
+<PRE>
+public <B>LrcXAConnection</B>(javax.jms.Connection connection)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="createXASession()"><!-- --></A><H3>
+createXASession</H3>
+<PRE>
+public javax.jms.XASession <B>createXASession</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createXASession</CODE> in interface <CODE>javax.jms.XAConnection</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createSession(boolean, int)"><!-- --></A><H3>
+createSession</H3>
+<PRE>
+public javax.jms.Session <B>createSession</B>(boolean transacted,
+ int acknowledgeMode)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createSession</CODE> in interface <CODE>javax.jms.Connection</CODE><DT><B>Specified by:</B><DD><CODE>createSession</CODE> in interface <CODE>javax.jms.XAConnection</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createConnectionConsumer(javax.jms.Destination, java.lang.String, javax.jms.ServerSessionPool, int)"><!-- --></A><H3>
+createConnectionConsumer</H3>
+<PRE>
+public javax.jms.ConnectionConsumer <B>createConnectionConsumer</B>(javax.jms.Destination destination,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> messageSelector,
+ javax.jms.ServerSessionPool serverSessionPool,
+ int maxMessages)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createConnectionConsumer</CODE> in interface <CODE>javax.jms.Connection</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createDurableConnectionConsumer(javax.jms.Topic, java.lang.String, java.lang.String, javax.jms.ServerSessionPool, int)"><!-- --></A><H3>
+createDurableConnectionConsumer</H3>
+<PRE>
+public javax.jms.ConnectionConsumer <B>createDurableConnectionConsumer</B>(javax.jms.Topic topic,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> subscriptionName,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> messageSelector,
+ javax.jms.ServerSessionPool serverSessionPool,
+ int maxMessages)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createDurableConnectionConsumer</CODE> in interface <CODE>javax.jms.Connection</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getClientID()"><!-- --></A><H3>
+getClientID</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getClientID</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getClientID</CODE> in interface <CODE>javax.jms.Connection</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setClientID(java.lang.String)"><!-- --></A><H3>
+setClientID</H3>
+<PRE>
+public void <B>setClientID</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> clientID)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>setClientID</CODE> in interface <CODE>javax.jms.Connection</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMetaData()"><!-- --></A><H3>
+getMetaData</H3>
+<PRE>
+public javax.jms.ConnectionMetaData <B>getMetaData</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getMetaData</CODE> in interface <CODE>javax.jms.Connection</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getExceptionListener()"><!-- --></A><H3>
+getExceptionListener</H3>
+<PRE>
+public javax.jms.ExceptionListener <B>getExceptionListener</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getExceptionListener</CODE> in interface <CODE>javax.jms.Connection</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setExceptionListener(javax.jms.ExceptionListener)"><!-- --></A><H3>
+setExceptionListener</H3>
+<PRE>
+public void <B>setExceptionListener</B>(javax.jms.ExceptionListener exceptionListener)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>setExceptionListener</CODE> in interface <CODE>javax.jms.Connection</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="start()"><!-- --></A><H3>
+start</H3>
+<PRE>
+public void <B>start</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>start</CODE> in interface <CODE>javax.jms.Connection</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="stop()"><!-- --></A><H3>
+stop</H3>
+<PRE>
+public void <B>stop</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>stop</CODE> in interface <CODE>javax.jms.Connection</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public void <B>close</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>close</CODE> in interface <CODE>javax.jms.Connection</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LrcXAConnection.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html" title="class in bitronix.tm.resource.jms.lrc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms/lrc/LrcXAConnection.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcXAConnection.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html b/doc/api/bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html
new file mode 100644
index 0000000..3194269
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html
@@ -0,0 +1,407 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:05 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+LrcXAConnectionFactory (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="LrcXAConnectionFactory (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LrcXAConnectionFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jms.lrc"><B>PREV CLASS</B></A>
+ <A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jms.lrc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcXAConnectionFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jms.lrc</FONT>
+<BR>
+Class LrcXAConnectionFactory</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.jms.lrc.LrcXAConnectionFactory</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>javax.jms.XAConnectionFactory</DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>LrcXAConnectionFactory</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements javax.jms.XAConnectionFactory</DL>
+</PRE>
+
+<P>
+XAConnectionFactory implementation for a non-XA JMS resource emulating XA with Last Resource Commit.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html#LrcXAConnectionFactory()">LrcXAConnectionFactory</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.XAConnection</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html#createXAConnection()">createXAConnection</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.XAConnection</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html#createXAConnection(java.lang.String, java.lang.String)">createXAConnection</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> user,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> password)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html#getConnectionFactoryClassName()">getConnectionFactoryClassName</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html#getProperties()">getProperties</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html#setConnectionFactoryClassName(java.lang.String)">setConnectionFactoryClassName</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> connectionFactoryClassName)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html#setProperties(java.util.Properties)">setProperties</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A> properties)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="LrcXAConnectionFactory()"><!-- --></A><H3>
+LrcXAConnectionFactory</H3>
+<PRE>
+public <B>LrcXAConnectionFactory</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getConnectionFactoryClassName()"><!-- --></A><H3>
+getConnectionFactoryClassName</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getConnectionFactoryClassName</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setConnectionFactoryClassName(java.lang.String)"><!-- --></A><H3>
+setConnectionFactoryClassName</H3>
+<PRE>
+public void <B>setConnectionFactoryClassName</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> connectionFactoryClassName)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getProperties()"><!-- --></A><H3>
+getProperties</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A> <B>getProperties</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setProperties(java.util.Properties)"><!-- --></A><H3>
+setProperties</H3>
+<PRE>
+public void <B>setProperties</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A> properties)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createXAConnection()"><!-- --></A><H3>
+createXAConnection</H3>
+<PRE>
+public javax.jms.XAConnection <B>createXAConnection</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createXAConnection</CODE> in interface <CODE>javax.jms.XAConnectionFactory</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createXAConnection(java.lang.String, java.lang.String)"><!-- --></A><H3>
+createXAConnection</H3>
+<PRE>
+public javax.jms.XAConnection <B>createXAConnection</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> user,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> password)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createXAConnection</CODE> in interface <CODE>javax.jms.XAConnectionFactory</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LrcXAConnectionFactory.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jms.lrc"><B>PREV CLASS</B></A>
+ <A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jms.lrc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcXAConnectionFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/lrc/LrcXAResource.html b/doc/api/bitronix/tm/resource/jms/lrc/LrcXAResource.html
new file mode 100644
index 0000000..c457a95
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/lrc/LrcXAResource.html
@@ -0,0 +1,668 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:05 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+LrcXAResource (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="LrcXAResource (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LrcXAResource.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html" title="class in bitronix.tm.resource.jms.lrc"><B>PREV CLASS</B></A>
+ <A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms/lrc/LrcXAResource.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcXAResource.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jms.lrc</FONT>
+<BR>
+Class LrcXAResource</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.jms.lrc.LrcXAResource</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>LrcXAResource</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></DL>
+</PRE>
+
+<P>
+XAResource implementation for a non-XA JMS connection emulating XA with Last Resource Commit.
+ <p>The XA protocol flow is implemented by this state machine:</p>
+ <pre>
+ NO_TX
+ |
+ | start(TMNOFLAGS)
+ |
+ | end(TMFAIL)
+ STARTED -------------- NO_TX
+ |
+ | end(TMSUCCESS)
+ |
+ | start(TMJOIN)
+ ENDED ---------------- STARTED
+ |\
+ | \ commit (one phase)
+ | ----------------- NO_TX
+ |
+ | prepare()
+ |
+ | commit() or
+ | rollback()
+ PREPARED ------------- NO_TX
+ </pre>
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#TMSUSPEND" title="class or interface in javax.transaction.xa"><CODE>XAResource.TMSUSPEND</CODE></A> and <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#TMRESUME" title="class or interface in javax.transaction.xa"><CODE>XAResource.TMRESUME</CODE></A> are not supported.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAResource.html#ENDED">ENDED</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAResource.html#NO_TX">NO_TX</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAResource.html#PREPARED">PREPARED</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAResource.html#STARTED">STARTED</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_javax.transaction.xa.XAResource"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface javax.transaction.xa.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#TMENDRSCAN" title="class or interface in javax.transaction.xa">TMENDRSCAN</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#TMFAIL" title="class or interface in javax.transaction.xa">TMFAIL</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#TMJOIN" title="class or [...]
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAResource.html#LrcXAResource(javax.jms.Session)">LrcXAResource</A></B>(javax.jms.Session session)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAResource.html#commit(javax.transaction.xa.Xid, boolean)">commit</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid,
+ boolean onePhase)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAResource.html#end(javax.transaction.xa.Xid, int)">end</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid,
+ int flag)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAResource.html#forget(javax.transaction.xa.Xid)">forget</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAResource.html#getState()">getState</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAResource.html#getTransactionTimeout()">getTransactionTimeout</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAResource.html#isSameRM(javax.transaction.xa.XAResource)">isSameRM</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAResource.html#prepare(javax.transaction.xa.Xid)">prepare</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAResource.html#recover(int)">recover</A></B>(int flags)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAResource.html#rollback(javax.transaction.xa.Xid)">rollback</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAResource.html#setTransactionTimeout(int)">setTransactionTimeout</A></B>(int seconds)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAResource.html#start(javax.transaction.xa.Xid, int)">start</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid,
+ int flag)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAResource.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="NO_TX"><!-- --></A><H3>
+NO_TX</H3>
+<PRE>
+public static final int <B>NO_TX</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#bitronix.tm.resource.jms.lrc.LrcXAResource.NO_TX">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="STARTED"><!-- --></A><H3>
+STARTED</H3>
+<PRE>
+public static final int <B>STARTED</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#bitronix.tm.resource.jms.lrc.LrcXAResource.STARTED">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="ENDED"><!-- --></A><H3>
+ENDED</H3>
+<PRE>
+public static final int <B>ENDED</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#bitronix.tm.resource.jms.lrc.LrcXAResource.ENDED">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="PREPARED"><!-- --></A><H3>
+PREPARED</H3>
+<PRE>
+public static final int <B>PREPARED</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#bitronix.tm.resource.jms.lrc.LrcXAResource.PREPARED">Constant Field Values</A></DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="LrcXAResource(javax.jms.Session)"><!-- --></A><H3>
+LrcXAResource</H3>
+<PRE>
+public <B>LrcXAResource</B>(javax.jms.Session session)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getState()"><!-- --></A><H3>
+getState</H3>
+<PRE>
+public int <B>getState</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTransactionTimeout()"><!-- --></A><H3>
+getTransactionTimeout</H3>
+<PRE>
+public int <B>getTransactionTimeout</B>()
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#getTransactionTimeout()" title="class or interface in javax.transaction.xa">getTransactionTimeout</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setTransactionTimeout(int)"><!-- --></A><H3>
+setTransactionTimeout</H3>
+<PRE>
+public boolean <B>setTransactionTimeout</B>(int seconds)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#setTransactionTimeout(int)" title="class or interface in javax.transaction.xa">setTransactionTimeout</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="forget(javax.transaction.xa.Xid)"><!-- --></A><H3>
+forget</H3>
+<PRE>
+public void <B>forget</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#forget(javax.transaction.xa.Xid)" title="class or interface in javax.transaction.xa">forget</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="recover(int)"><!-- --></A><H3>
+recover</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A>[] <B>recover</B>(int flags)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#recover(int)" title="class or interface in javax.transaction.xa">recover</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isSameRM(javax.transaction.xa.XAResource)"><!-- --></A><H3>
+isSameRM</H3>
+<PRE>
+public boolean <B>isSameRM</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> xaResource)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#isSameRM(javax.transaction.xa.XAResource)" title="class or interface in javax.transaction.xa">isSameRM</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="start(javax.transaction.xa.Xid, int)"><!-- --></A><H3>
+start</H3>
+<PRE>
+public void <B>start</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid,
+ int flag)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#start(javax.transaction.xa.Xid, int)" title="class or interface in javax.transaction.xa">start</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="end(javax.transaction.xa.Xid, int)"><!-- --></A><H3>
+end</H3>
+<PRE>
+public void <B>end</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid,
+ int flag)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#end(javax.transaction.xa.Xid, int)" title="class or interface in javax.transaction.xa">end</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="prepare(javax.transaction.xa.Xid)"><!-- --></A><H3>
+prepare</H3>
+<PRE>
+public int <B>prepare</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#prepare(javax.transaction.xa.Xid)" title="class or interface in javax.transaction.xa">prepare</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="commit(javax.transaction.xa.Xid, boolean)"><!-- --></A><H3>
+commit</H3>
+<PRE>
+public void <B>commit</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid,
+ boolean onePhase)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#commit(javax.transaction.xa.Xid, boolean)" title="class or interface in javax.transaction.xa">commit</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="rollback(javax.transaction.xa.Xid)"><!-- --></A><H3>
+rollback</H3>
+<PRE>
+public void <B>rollback</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A> xid)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#rollback(javax.transaction.xa.Xid)" title="class or interface in javax.transaction.xa">rollback</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LrcXAResource.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html" title="class in bitronix.tm.resource.jms.lrc"><B>PREV CLASS</B></A>
+ <A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms/lrc/LrcXAResource.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcXAResource.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/lrc/LrcXASession.html b/doc/api/bitronix/tm/resource/jms/lrc/LrcXASession.html
new file mode 100644
index 0000000..d28263f
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/lrc/LrcXASession.html
@@ -0,0 +1,1095 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:05 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+LrcXASession (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="LrcXASession (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LrcXASession.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jms.lrc"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms/lrc/LrcXASession.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcXASession.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.resource.jms.lrc</FONT>
+<BR>
+Class LrcXASession</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.resource.jms.lrc.LrcXASession</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A>, javax.jms.Session, javax.jms.XASession</DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>LrcXASession</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements javax.jms.XASession</DL>
+</PRE>
+
+<P>
+XASession implementation for a non-XA JMS resource emulating XA with Last Resource Commit.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_javax.jms.Session"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from interface javax.jms.Session</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>AUTO_ACKNOWLEDGE, CLIENT_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE, SESSION_TRANSACTED</CODE></TD>
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#LrcXASession(javax.jms.Session)">LrcXASession</A></B>(javax.jms.Session session)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#close()">close</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#commit()">commit</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.QueueBrowser</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#createBrowser(javax.jms.Queue)">createBrowser</A></B>(javax.jms.Queue queue)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.QueueBrowser</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#createBrowser(javax.jms.Queue, java.lang.String)">createBrowser</A></B>(javax.jms.Queue queue,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> messageSelector)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.BytesMessage</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#createBytesMessage()">createBytesMessage</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.MessageConsumer</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#createConsumer(javax.jms.Destination)">createConsumer</A></B>(javax.jms.Destination destination)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.MessageConsumer</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#createConsumer(javax.jms.Destination, java.lang.String)">createConsumer</A></B>(javax.jms.Destination destination,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> messageSelector)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.MessageConsumer</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#createConsumer(javax.jms.Destination, java.lang.String, boolean)">createConsumer</A></B>(javax.jms.Destination destination,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> messageSelector,
+ boolean noLocal)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.TopicSubscriber</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#createDurableSubscriber(javax.jms.Topic, java.lang.String)">createDurableSubscriber</A></B>(javax.jms.Topic topic,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.TopicSubscriber</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#createDurableSubscriber(javax.jms.Topic, java.lang.String, java.lang.String, boolean)">createDurableSubscriber</A></B>(javax.jms.Topic topic,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> name,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> messageSelector,
+ boolean noLocal)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.MapMessage</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#createMapMessage()">createMapMessage</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.Message</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#createMessage()">createMessage</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.ObjectMessage</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#createObjectMessage()">createObjectMessage</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.ObjectMessage</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#createObjectMessage(java.io.Serializable)">createObjectMessage</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A> serializable)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.MessageProducer</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#createProducer(javax.jms.Destination)">createProducer</A></B>(javax.jms.Destination destination)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.Queue</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#createQueue(java.lang.String)">createQueue</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> queueName)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.StreamMessage</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#createStreamMessage()">createStreamMessage</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.TemporaryQueue</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#createTemporaryQueue()">createTemporaryQueue</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.TemporaryTopic</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#createTemporaryTopic()">createTemporaryTopic</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.TextMessage</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#createTextMessage()">createTextMessage</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.TextMessage</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#createTextMessage(java.lang.String)">createTextMessage</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> text)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.Topic</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#createTopic(java.lang.String)">createTopic</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> topicName)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#getAcknowledgeMode()">getAcknowledgeMode</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.MessageListener</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#getMessageListener()">getMessageListener</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> javax.jms.Session</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#getSession()">getSession</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#getTransacted()">getTransacted</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#getXAResource()">getXAResource</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#recover()">recover</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#rollback()">rollback</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#run()">run</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#setMessageListener(javax.jms.MessageListener)">setMessageListener</A></B>(javax.jms.MessageListener messageListener)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html#unsubscribe(java.lang.String)">unsubscribe</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="LrcXASession(javax.jms.Session)"><!-- --></A><H3>
+LrcXASession</H3>
+<PRE>
+public <B>LrcXASession</B>(javax.jms.Session session)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getSession()"><!-- --></A><H3>
+getSession</H3>
+<PRE>
+public javax.jms.Session <B>getSession</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getSession</CODE> in interface <CODE>javax.jms.XASession</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXAResource()"><!-- --></A><H3>
+getXAResource</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A> <B>getXAResource</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getXAResource</CODE> in interface <CODE>javax.jms.XASession</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createBytesMessage()"><!-- --></A><H3>
+createBytesMessage</H3>
+<PRE>
+public javax.jms.BytesMessage <B>createBytesMessage</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createBytesMessage</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createMapMessage()"><!-- --></A><H3>
+createMapMessage</H3>
+<PRE>
+public javax.jms.MapMessage <B>createMapMessage</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createMapMessage</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createMessage()"><!-- --></A><H3>
+createMessage</H3>
+<PRE>
+public javax.jms.Message <B>createMessage</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createMessage</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createObjectMessage()"><!-- --></A><H3>
+createObjectMessage</H3>
+<PRE>
+public javax.jms.ObjectMessage <B>createObjectMessage</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createObjectMessage</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createObjectMessage(java.io.Serializable)"><!-- --></A><H3>
+createObjectMessage</H3>
+<PRE>
+public javax.jms.ObjectMessage <B>createObjectMessage</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A> serializable)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createObjectMessage</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createStreamMessage()"><!-- --></A><H3>
+createStreamMessage</H3>
+<PRE>
+public javax.jms.StreamMessage <B>createStreamMessage</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createStreamMessage</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createTextMessage()"><!-- --></A><H3>
+createTextMessage</H3>
+<PRE>
+public javax.jms.TextMessage <B>createTextMessage</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createTextMessage</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createTextMessage(java.lang.String)"><!-- --></A><H3>
+createTextMessage</H3>
+<PRE>
+public javax.jms.TextMessage <B>createTextMessage</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> text)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createTextMessage</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTransacted()"><!-- --></A><H3>
+getTransacted</H3>
+<PRE>
+public boolean <B>getTransacted</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getTransacted</CODE> in interface <CODE>javax.jms.Session</CODE><DT><B>Specified by:</B><DD><CODE>getTransacted</CODE> in interface <CODE>javax.jms.XASession</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getAcknowledgeMode()"><!-- --></A><H3>
+getAcknowledgeMode</H3>
+<PRE>
+public int <B>getAcknowledgeMode</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getAcknowledgeMode</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="commit()"><!-- --></A><H3>
+commit</H3>
+<PRE>
+public void <B>commit</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>commit</CODE> in interface <CODE>javax.jms.Session</CODE><DT><B>Specified by:</B><DD><CODE>commit</CODE> in interface <CODE>javax.jms.XASession</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="rollback()"><!-- --></A><H3>
+rollback</H3>
+<PRE>
+public void <B>rollback</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>rollback</CODE> in interface <CODE>javax.jms.Session</CODE><DT><B>Specified by:</B><DD><CODE>rollback</CODE> in interface <CODE>javax.jms.XASession</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="close()"><!-- --></A><H3>
+close</H3>
+<PRE>
+public void <B>close</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>close</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="recover()"><!-- --></A><H3>
+recover</H3>
+<PRE>
+public void <B>recover</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>recover</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMessageListener()"><!-- --></A><H3>
+getMessageListener</H3>
+<PRE>
+public javax.jms.MessageListener <B>getMessageListener</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>getMessageListener</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setMessageListener(javax.jms.MessageListener)"><!-- --></A><H3>
+setMessageListener</H3>
+<PRE>
+public void <B>setMessageListener</B>(javax.jms.MessageListener messageListener)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>setMessageListener</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="run()"><!-- --></A><H3>
+run</H3>
+<PRE>
+public void <B>run</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true#run()" title="class or interface in java.lang">run</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A></CODE><DT><B>Specified by:</B><DD><CODE>run</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createProducer(javax.jms.Destination)"><!-- --></A><H3>
+createProducer</H3>
+<PRE>
+public javax.jms.MessageProducer <B>createProducer</B>(javax.jms.Destination destination)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createProducer</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createConsumer(javax.jms.Destination)"><!-- --></A><H3>
+createConsumer</H3>
+<PRE>
+public javax.jms.MessageConsumer <B>createConsumer</B>(javax.jms.Destination destination)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createConsumer</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createConsumer(javax.jms.Destination, java.lang.String)"><!-- --></A><H3>
+createConsumer</H3>
+<PRE>
+public javax.jms.MessageConsumer <B>createConsumer</B>(javax.jms.Destination destination,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> messageSelector)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createConsumer</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createConsumer(javax.jms.Destination, java.lang.String, boolean)"><!-- --></A><H3>
+createConsumer</H3>
+<PRE>
+public javax.jms.MessageConsumer <B>createConsumer</B>(javax.jms.Destination destination,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> messageSelector,
+ boolean noLocal)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createConsumer</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createQueue(java.lang.String)"><!-- --></A><H3>
+createQueue</H3>
+<PRE>
+public javax.jms.Queue <B>createQueue</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> queueName)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createQueue</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createTopic(java.lang.String)"><!-- --></A><H3>
+createTopic</H3>
+<PRE>
+public javax.jms.Topic <B>createTopic</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> topicName)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createTopic</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createDurableSubscriber(javax.jms.Topic, java.lang.String)"><!-- --></A><H3>
+createDurableSubscriber</H3>
+<PRE>
+public javax.jms.TopicSubscriber <B>createDurableSubscriber</B>(javax.jms.Topic topic,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> name)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createDurableSubscriber</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createDurableSubscriber(javax.jms.Topic, java.lang.String, java.lang.String, boolean)"><!-- --></A><H3>
+createDurableSubscriber</H3>
+<PRE>
+public javax.jms.TopicSubscriber <B>createDurableSubscriber</B>(javax.jms.Topic topic,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> name,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> messageSelector,
+ boolean noLocal)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createDurableSubscriber</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createBrowser(javax.jms.Queue)"><!-- --></A><H3>
+createBrowser</H3>
+<PRE>
+public javax.jms.QueueBrowser <B>createBrowser</B>(javax.jms.Queue queue)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createBrowser</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createBrowser(javax.jms.Queue, java.lang.String)"><!-- --></A><H3>
+createBrowser</H3>
+<PRE>
+public javax.jms.QueueBrowser <B>createBrowser</B>(javax.jms.Queue queue,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> messageSelector)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createBrowser</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createTemporaryQueue()"><!-- --></A><H3>
+createTemporaryQueue</H3>
+<PRE>
+public javax.jms.TemporaryQueue <B>createTemporaryQueue</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createTemporaryQueue</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createTemporaryTopic()"><!-- --></A><H3>
+createTemporaryTopic</H3>
+<PRE>
+public javax.jms.TemporaryTopic <B>createTemporaryTopic</B>()
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>createTemporaryTopic</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="unsubscribe(java.lang.String)"><!-- --></A><H3>
+unsubscribe</H3>
+<PRE>
+public void <B>unsubscribe</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> name)
+ throws javax.jms.JMSException</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE>unsubscribe</CODE> in interface <CODE>javax.jms.Session</CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>javax.jms.JMSException</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/LrcXASession.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jms.lrc"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms/lrc/LrcXASession.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcXASession.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/lrc/class-use/LrcXAConnection.html b/doc/api/bitronix/tm/resource/jms/lrc/class-use/LrcXAConnection.html
new file mode 100644
index 0000000..58de2af
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/lrc/class-use/LrcXAConnection.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.jms.lrc.LrcXAConnection (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.jms.lrc.LrcXAConnection (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jms.lrc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../../index.html?bitronix/tm/resource/jms/lrc//class-useLrcXAConnection.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcXAConnection.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.jms.lrc.LrcXAConnection</B></H2>
+</CENTER>
+No usage of bitronix.tm.resource.jms.lrc.LrcXAConnection
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jms.lrc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../../index.html?bitronix/tm/resource/jms/lrc//class-useLrcXAConnection.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcXAConnection.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/lrc/class-use/LrcXAConnectionFactory.html b/doc/api/bitronix/tm/resource/jms/lrc/class-use/LrcXAConnectionFactory.html
new file mode 100644
index 0000000..6e2c319
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/lrc/class-use/LrcXAConnectionFactory.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.jms.lrc.LrcXAConnectionFactory (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.jms.lrc.LrcXAConnectionFactory (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html" title="class in bitronix.tm.resource.jms.lrc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../../index.html?bitronix/tm/resource/jms/lrc//class-useLrcXAConnectionFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcXAConnectionFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.jms.lrc.LrcXAConnectionFactory</B></H2>
+</CENTER>
+No usage of bitronix.tm.resource.jms.lrc.LrcXAConnectionFactory
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html" title="class in bitronix.tm.resource.jms.lrc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../../index.html?bitronix/tm/resource/jms/lrc//class-useLrcXAConnectionFactory.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcXAConnectionFactory.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/lrc/class-use/LrcXAResource.html b/doc/api/bitronix/tm/resource/jms/lrc/class-use/LrcXAResource.html
new file mode 100644
index 0000000..69f577f
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/lrc/class-use/LrcXAResource.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.jms.lrc.LrcXAResource (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.jms.lrc.LrcXAResource (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../bitronix/tm/resource/jms/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jms.lrc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../../index.html?bitronix/tm/resource/jms/lrc//class-useLrcXAResource.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcXAResource.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.jms.lrc.LrcXAResource</B></H2>
+</CENTER>
+No usage of bitronix.tm.resource.jms.lrc.LrcXAResource
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../bitronix/tm/resource/jms/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jms.lrc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../../index.html?bitronix/tm/resource/jms/lrc//class-useLrcXAResource.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcXAResource.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/lrc/class-use/LrcXASession.html b/doc/api/bitronix/tm/resource/jms/lrc/class-use/LrcXASession.html
new file mode 100644
index 0000000..644e7dd
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/lrc/class-use/LrcXASession.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.resource.jms.lrc.LrcXASession (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.resource.jms.lrc.LrcXASession (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../../index.html?bitronix/tm/resource/jms/lrc//class-useLrcXASession.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcXASession.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.resource.jms.lrc.LrcXASession</B></H2>
+</CENTER>
+No usage of bitronix.tm.resource.jms.lrc.LrcXASession
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../../index.html?bitronix/tm/resource/jms/lrc//class-useLrcXASession.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="LrcXASession.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/lrc/package-frame.html b/doc/api/bitronix/tm/resource/jms/lrc/package-frame.html
new file mode 100644
index 0000000..f327646
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/lrc/package-frame.html
@@ -0,0 +1,39 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.resource.jms.lrc (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../../../bitronix/tm/resource/jms/lrc/package-summary.html" target="classFrame">bitronix.tm.resource.jms.lrc</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="LrcXAConnection.html" title="class in bitronix.tm.resource.jms.lrc" target="classFrame">LrcXAConnection</A>
+<BR>
+<A HREF="LrcXAConnectionFactory.html" title="class in bitronix.tm.resource.jms.lrc" target="classFrame">LrcXAConnectionFactory</A>
+<BR>
+<A HREF="LrcXAResource.html" title="class in bitronix.tm.resource.jms.lrc" target="classFrame">LrcXAResource</A>
+<BR>
+<A HREF="LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc" target="classFrame">LrcXASession</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/lrc/package-summary.html b/doc/api/bitronix/tm/resource/jms/lrc/package-summary.html
new file mode 100644
index 0000000..5091532
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/lrc/package-summary.html
@@ -0,0 +1,191 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.resource.jms.lrc (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.resource.jms.lrc (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html"><B>PREV PACKAGE</B></A>
+ <A HREF="../../../../../bitronix/tm/timer/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms/lrc/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package bitronix.tm.resource.jms.lrc
+</H2>
+
+ XAConnectionFactory emulator using Last Resource Commit on an underlying non-XA ConnectionFactory.
+<P>
+<B>See:</B>
+<BR>
+ <A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAConnection</A></B></TD>
+<TD>XAConnection implementation for a non-XA JMS resource emulating XA with Last Resource Commit.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAConnectionFactory</A></B></TD>
+<TD>XAConnectionFactory implementation for a non-XA JMS resource emulating XA with Last Resource Commit.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAResource</A></B></TD>
+<TD>XAResource implementation for a non-XA JMS connection emulating XA with Last Resource Commit.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A></B></TD>
+<TD>XASession implementation for a non-XA JMS resource emulating XA with Last Resource Commit.</TD>
+</TR>
+</TABLE>
+
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package bitronix.tm.resource.jms.lrc Description
+</H2>
+
+<P>
+<p>
+ XAConnectionFactory emulator using Last Resource Commit on an underlying non-XA ConnectionFactory.
+ Note that if you use the classes of this package you have accepted the heuristic hazard. A crash
+ during commit of a connection returned by this connection factory could lead to an inconsistent global state.
+ This is a limitation of the Last Resource Commit technique, not of BTM.
+ </p>
+<P>
+
+<P>
+<DL>
+</DL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../bitronix/tm/resource/jms/package-summary.html"><B>PREV PACKAGE</B></A>
+ <A HREF="../../../../../bitronix/tm/timer/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms/lrc/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/lrc/package-tree.html b/doc/api/bitronix/tm/resource/jms/lrc/package-tree.html
new file mode 100644
index 0000000..210a5c7
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/lrc/package-tree.html
@@ -0,0 +1,158 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.resource.jms.lrc Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.resource.jms.lrc Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../bitronix/tm/resource/jms/package-tree.html"><B>PREV</B></A>
+ <A HREF="../../../../../bitronix/tm/timer/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms/lrc/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package bitronix.tm.resource.jms.lrc
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">bitronix.tm.resource.jms.lrc.<A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jms.lrc"><B>LrcXAConnection</B></A> (implements javax.jms.XAConnection)
+<LI TYPE="circle">bitronix.tm.resource.jms.lrc.<A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html" title="class in bitronix.tm.resource.jms.lrc"><B>LrcXAConnectionFactory</B></A> (implements javax.jms.XAConnectionFactory)
+<LI TYPE="circle">bitronix.tm.resource.jms.lrc.<A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jms.lrc"><B>LrcXAResource</B></A> (implements javax.transaction.xa.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A>)
+<LI TYPE="circle">bitronix.tm.resource.jms.lrc.<A HREF="../../../../../bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc"><B>LrcXASession</B></A> (implements javax.jms.XASession)
+</UL>
+</UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../bitronix/tm/resource/jms/package-tree.html"><B>PREV</B></A>
+ <A HREF="../../../../../bitronix/tm/timer/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms/lrc/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/lrc/package-use.html b/doc/api/bitronix/tm/resource/jms/lrc/package-use.html
new file mode 100644
index 0000000..2d72044
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/lrc/package-use.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Package bitronix.tm.resource.jms.lrc (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Package bitronix.tm.resource.jms.lrc (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms/lrc/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>bitronix.tm.resource.jms.lrc</B></H2>
+</CENTER>
+No usage of bitronix.tm.resource.jms.lrc
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/resource/jms/lrc/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/package-frame.html b/doc/api/bitronix/tm/resource/jms/package-frame.html
new file mode 100644
index 0000000..2fc76bb
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/package-frame.html
@@ -0,0 +1,62 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.resource.jms (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../../bitronix/tm/resource/jms/package-summary.html" target="classFrame">bitronix.tm.resource.jms</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Interfaces</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="JmsPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jms" target="classFrame"><I>JmsPooledConnectionMBean</I></A>
+<BR>
+<A HREF="PoolingConnectionFactoryMBean.html" title="interface in bitronix.tm.resource.jms" target="classFrame"><I>PoolingConnectionFactoryMBean</I></A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="DualSessionWrapper.html" title="class in bitronix.tm.resource.jms" target="classFrame">DualSessionWrapper</A>
+<BR>
+<A HREF="JmsConnectionHandle.html" title="class in bitronix.tm.resource.jms" target="classFrame">JmsConnectionHandle</A>
+<BR>
+<A HREF="JmsPooledConnection.html" title="class in bitronix.tm.resource.jms" target="classFrame">JmsPooledConnection</A>
+<BR>
+<A HREF="JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms" target="classFrame">JndiXAConnectionFactory</A>
+<BR>
+<A HREF="MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms" target="classFrame">MessageConsumerWrapper</A>
+<BR>
+<A HREF="MessageProducerConsumerKey.html" title="class in bitronix.tm.resource.jms" target="classFrame">MessageProducerConsumerKey</A>
+<BR>
+<A HREF="MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms" target="classFrame">MessageProducerWrapper</A>
+<BR>
+<A HREF="PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms" target="classFrame">PoolingConnectionFactory</A>
+<BR>
+<A HREF="TopicSubscriberWrapper.html" title="class in bitronix.tm.resource.jms" target="classFrame">TopicSubscriberWrapper</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/package-summary.html b/doc/api/bitronix/tm/resource/jms/package-summary.html
new file mode 100644
index 0000000..7316672
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/package-summary.html
@@ -0,0 +1,229 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.resource.jms (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.resource.jms (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jdbc/lrc/package-summary.html"><B>PREV PACKAGE</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jms/lrc/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jms/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package bitronix.tm.resource.jms
+</H2>
+
+ Synchronous JMS specific resource management code.
+<P>
+<B>See:</B>
+<BR>
+ <A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Interface Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jms">JmsPooledConnectionMBean</A></B></TD>
+<TD><A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms"><CODE>JmsPooledConnection</CODE></A> Management interface.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" title="interface in bitronix.tm.resource.jms">PoolingConnectionFactoryMBean</A></B></TD>
+<TD> </TD>
+</TR>
+</TABLE>
+
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A></B></TD>
+<TD>JMS Session wrapper that will send calls to either a XASession or to a non-XA Session depending on the calling
+ context.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/jms/JmsConnectionHandle.html" title="class in bitronix.tm.resource.jms">JmsConnectionHandle</A></B></TD>
+<TD>Disposable Connection handle.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A></B></TD>
+<TD>Implementation of a JMS pooled connection wrapping vendor's <CODE>XAConnection</CODE> implementation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/jms/JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms">JndiXAConnectionFactory</A></B></TD>
+<TD><CODE>XAConnectionFactory</CODE> implementation that wraps another <CODE>XAConnectionFactory</CODE> implementation available
+ in some JNDI tree.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms">MessageConsumerWrapper</A></B></TD>
+<TD><CODE>MessageConsumer</CODE> wrapper that adds XA enlistment semantics.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/jms/MessageProducerConsumerKey.html" title="class in bitronix.tm.resource.jms">MessageProducerConsumerKey</A></B></TD>
+<TD>JMS destination wrapper optimized for use with hashed collections where it is the key and a
+ <CODE>MessageProducer</CODE> or a <CODE>MessageConsumer</CODE> is the value.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms">MessageProducerWrapper</A></B></TD>
+<TD><CODE>MessageProducer</CODE> wrapper that adds XA enlistment semantics.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A></B></TD>
+<TD>Implementation of a JMS <CODE>ConnectionFactory</CODE> wrapping vendor's <CODE>XAConnectionFactory</CODE> implementation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/resource/jms/TopicSubscriberWrapper.html" title="class in bitronix.tm.resource.jms">TopicSubscriberWrapper</A></B></TD>
+<TD><CODE>TopicSubscriber</CODE> wrapper that adds XA enlistment semantics.</TD>
+</TR>
+</TABLE>
+
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package bitronix.tm.resource.jms Description
+</H2>
+
+<P>
+<p>
+ Synchronous JMS specific resource management code.
+ </p>
+<P>
+
+<P>
+<DL>
+</DL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jdbc/lrc/package-summary.html"><B>PREV PACKAGE</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jms/lrc/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jms/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/package-tree.html b/doc/api/bitronix/tm/resource/jms/package-tree.html
new file mode 100644
index 0000000..2d11939
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/package-tree.html
@@ -0,0 +1,178 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.resource.jms Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.resource.jms Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jdbc/lrc/package-tree.html"><B>PREV</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jms/lrc/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jms/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package bitronix.tm.resource.jms
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common"><B>AbstractXAStatefulHolder</B></A> (implements bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A>)
+<UL>
+<LI TYPE="circle">bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common"><B>AbstractXAResourceHolder</B></A> (implements bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A>)
+<UL>
+<LI TYPE="circle">bitronix.tm.resource.jms.<A HREF="../../../../bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms"><B>DualSessionWrapper</B></A> (implements javax.jms.Session, bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A>)
+</UL>
+<LI TYPE="circle">bitronix.tm.resource.jms.<A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms"><B>JmsPooledConnection</B></A> (implements bitronix.tm.resource.jms.<A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jms">JmsPooledConnectionMBean</A>)
+</UL>
+<LI TYPE="circle">bitronix.tm.resource.jms.<A HREF="../../../../bitronix/tm/resource/jms/JmsConnectionHandle.html" title="class in bitronix.tm.resource.jms"><B>JmsConnectionHandle</B></A> (implements javax.jms.Connection)
+<LI TYPE="circle">bitronix.tm.resource.jms.<A HREF="../../../../bitronix/tm/resource/jms/JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms"><B>JndiXAConnectionFactory</B></A> (implements javax.jms.XAConnectionFactory)
+<LI TYPE="circle">bitronix.tm.resource.jms.<A HREF="../../../../bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms"><B>MessageConsumerWrapper</B></A> (implements javax.jms.MessageConsumer)
+<UL>
+<LI TYPE="circle">bitronix.tm.resource.jms.<A HREF="../../../../bitronix/tm/resource/jms/TopicSubscriberWrapper.html" title="class in bitronix.tm.resource.jms"><B>TopicSubscriberWrapper</B></A> (implements javax.jms.TopicSubscriber)
+</UL>
+<LI TYPE="circle">bitronix.tm.resource.jms.<A HREF="../../../../bitronix/tm/resource/jms/MessageProducerConsumerKey.html" title="class in bitronix.tm.resource.jms"><B>MessageProducerConsumerKey</B></A><LI TYPE="circle">bitronix.tm.resource.jms.<A HREF="../../../../bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms"><B>MessageProducerWrapper</B></A> (implements javax.jms.MessageProducer)
+<LI TYPE="circle">bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common"><B>ResourceBean</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>)
+<UL>
+<LI TYPE="circle">bitronix.tm.resource.jms.<A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms"><B>PoolingConnectionFactory</B></A> (implements javax.jms.ConnectionFactory, bitronix.tm.resource.jms.<A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" title="interface in bitronix.tm.resource.jms">PoolingConnectionFactoryMBean</A>, bitronix.tm.resource.common.<A HREF="../../../../bitronix/tm/reso [...]
+</UL>
+</UL>
+</UL>
+<H2>
+Interface Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">bitronix.tm.resource.jms.<A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jms"><B>JmsPooledConnectionMBean</B></A><LI TYPE="circle">bitronix.tm.resource.jms.<A HREF="../../../../bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" title="interface in bitronix.tm.resource.jms"><B>PoolingConnectionFactoryMBean</B></A></UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/resource/jdbc/lrc/package-tree.html"><B>PREV</B></A>
+ <A HREF="../../../../bitronix/tm/resource/jms/lrc/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jms/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/jms/package-use.html b/doc/api/bitronix/tm/resource/jms/package-use.html
new file mode 100644
index 0000000..fbfc523
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/jms/package-use.html
@@ -0,0 +1,203 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Package bitronix.tm.resource.jms (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Package bitronix.tm.resource.jms (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jms/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>bitronix.tm.resource.jms</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.jms"><B>bitronix.tm.resource.jms</B></A></TD>
+<TD>
+ Synchronous JMS specific resource management code. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jms"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A> used by <A HREF="../../../../bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/jms/class-use/DualSessionWrapper.html#bitronix.tm.resource.jms"><B>DualSessionWrapper</B></A></B>
+
+<BR>
+ JMS Session wrapper that will send calls to either a XASession or to a non-XA Session depending on the calling
+ context.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/jms/class-use/JmsPooledConnection.html#bitronix.tm.resource.jms"><B>JmsPooledConnection</B></A></B>
+
+<BR>
+ Implementation of a JMS pooled connection wrapping vendor's <CODE>XAConnection</CODE> implementation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/jms/class-use/JmsPooledConnectionMBean.html#bitronix.tm.resource.jms"><B>JmsPooledConnectionMBean</B></A></B>
+
+<BR>
+ <A HREF="../../../../bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms"><CODE>JmsPooledConnection</CODE></A> Management interface.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/jms/class-use/MessageConsumerWrapper.html#bitronix.tm.resource.jms"><B>MessageConsumerWrapper</B></A></B>
+
+<BR>
+ <CODE>MessageConsumer</CODE> wrapper that adds XA enlistment semantics.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/jms/class-use/PoolingConnectionFactory.html#bitronix.tm.resource.jms"><B>PoolingConnectionFactory</B></A></B>
+
+<BR>
+ Implementation of a JMS <CODE>ConnectionFactory</CODE> wrapping vendor's <CODE>XAConnectionFactory</CODE> implementation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/resource/jms/class-use/PoolingConnectionFactoryMBean.html#bitronix.tm.resource.jms"><B>PoolingConnectionFactoryMBean</B></A></B>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/resource/jms/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/package-frame.html b/doc/api/bitronix/tm/resource/package-frame.html
new file mode 100644
index 0000000..3dea181
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/package-frame.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.resource (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../bitronix/tm/resource/package-summary.html" target="classFrame">bitronix.tm.resource</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="ResourceLoader.html" title="class in bitronix.tm.resource" target="classFrame">ResourceLoader</A>
+<BR>
+<A HREF="ResourceObjectFactory.html" title="class in bitronix.tm.resource" target="classFrame">ResourceObjectFactory</A>
+<BR>
+<A HREF="ResourceRegistrar.html" title="class in bitronix.tm.resource" target="classFrame">ResourceRegistrar</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Exceptions</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="ResourceConfigurationException.html" title="class in bitronix.tm.resource" target="classFrame">ResourceConfigurationException</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/package-summary.html b/doc/api/bitronix/tm/resource/package-summary.html
new file mode 100644
index 0000000..5d4141b
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/package-summary.html
@@ -0,0 +1,198 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.resource (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.resource (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/recovery/package-summary.html"><B>PREV PACKAGE</B></A>
+ <A HREF="../../../bitronix/tm/resource/common/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/resource/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package bitronix.tm.resource
+</H2>
+
+ Transaction Manager's resource management services.
+<P>
+<B>See:</B>
+<BR>
+ <A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource">ResourceLoader</A></B></TD>
+<TD>XA resources pools configurator & loader.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/resource/ResourceObjectFactory.html" title="class in bitronix.tm.resource">ResourceObjectFactory</A></B></TD>
+<TD><A HREF="../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> object factory for JNDI references.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/resource/ResourceRegistrar.html" title="class in bitronix.tm.resource">ResourceRegistrar</A></B></TD>
+<TD>Collection of initialized <A HREF="../../../bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>s.</TD>
+</TR>
+</TABLE>
+
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Exception Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/resource/ResourceConfigurationException.html" title="class in bitronix.tm.resource">ResourceConfigurationException</A></B></TD>
+<TD>Thrown when a resource cannot be created due to a configuration error.</TD>
+</TR>
+</TABLE>
+
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package bitronix.tm.resource Description
+</H2>
+
+<P>
+<p>
+ Transaction Manager's resource management services.
+ </p>
+<P>
+
+<P>
+<DL>
+</DL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/recovery/package-summary.html"><B>PREV PACKAGE</B></A>
+ <A HREF="../../../bitronix/tm/resource/common/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/resource/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/package-tree.html b/doc/api/bitronix/tm/resource/package-tree.html
new file mode 100644
index 0000000..c55c034
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/package-tree.html
@@ -0,0 +1,163 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.resource Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.resource Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/recovery/package-tree.html"><B>PREV</B></A>
+ <A HREF="../../../bitronix/tm/resource/common/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/resource/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package bitronix.tm.resource
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">bitronix.tm.resource.<A HREF="../../../bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource"><B>ResourceLoader</B></A> (implements bitronix.tm.utils.<A HREF="../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A>)
+<LI TYPE="circle">bitronix.tm.resource.<A HREF="../../../bitronix/tm/resource/ResourceObjectFactory.html" title="class in bitronix.tm.resource"><B>ResourceObjectFactory</B></A> (implements javax.naming.spi.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/ObjectFactory.html?is-external=true" title="class or interface in javax.naming.spi">ObjectFactory</A>)
+<LI TYPE="circle">bitronix.tm.resource.<A HREF="../../../bitronix/tm/resource/ResourceRegistrar.html" title="class in bitronix.tm.resource"><B>ResourceRegistrar</B></A><LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><B>Throwable</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in j [...]
+<UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><B>Exception</B></A><UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang"><B>RuntimeException</B></A><UL>
+<LI TYPE="circle">bitronix.tm.resource.<A HREF="../../../bitronix/tm/resource/ResourceConfigurationException.html" title="class in bitronix.tm.resource"><B>ResourceConfigurationException</B></A></UL>
+</UL>
+</UL>
+</UL>
+</UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/recovery/package-tree.html"><B>PREV</B></A>
+ <A HREF="../../../bitronix/tm/resource/common/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/resource/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/resource/package-use.html b/doc/api/bitronix/tm/resource/package-use.html
new file mode 100644
index 0000000..1950932
--- /dev/null
+++ b/doc/api/bitronix/tm/resource/package-use.html
@@ -0,0 +1,172 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Package bitronix.tm.resource (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Package bitronix.tm.resource (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/resource/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>bitronix.tm.resource</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../bitronix/tm/resource/package-summary.html">bitronix.tm.resource</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm"><B>bitronix.tm</B></A></TD>
+<TD>
+ JTA interfaces implementations and global services. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/resource/package-summary.html">bitronix.tm.resource</A> used by <A HREF="../../../bitronix/tm/package-summary.html">bitronix.tm</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/resource/class-use/ResourceLoader.html#bitronix.tm"><B>ResourceLoader</B></A></B>
+
+<BR>
+ XA resources pools configurator & loader.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/resource/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/timer/PoolShrinkingTask.html b/doc/api/bitronix/tm/timer/PoolShrinkingTask.html
new file mode 100644
index 0000000..591d4a6
--- /dev/null
+++ b/doc/api/bitronix/tm/timer/PoolShrinkingTask.html
@@ -0,0 +1,325 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:05 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+PoolShrinkingTask (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="PoolShrinkingTask (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PoolShrinkingTask.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../bitronix/tm/timer/RecoveryTask.html" title="class in bitronix.tm.timer"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/timer/PoolShrinkingTask.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PoolShrinkingTask.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.timer</FONT>
+<BR>
+Class PoolShrinkingTask</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer">bitronix.tm.timer.Task</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.timer.PoolShrinkingTask</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>PoolShrinkingTask</B><DT>extends <A HREF="../../../bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer">Task</A></DL>
+</PRE>
+
+<P>
+This task is used to notify a XA pool to close idle connections.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/timer/PoolShrinkingTask.html#PoolShrinkingTask(bitronix.tm.resource.common.XAPool, java.util.Date, bitronix.tm.timer.TaskScheduler)">PoolShrinkingTask</A></B>(<A HREF="../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A> xaPool,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> executionTime,
+ <A HREF="../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A> scheduler)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/timer/PoolShrinkingTask.html#execute()">execute</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/timer/PoolShrinkingTask.html#getObject()">getObject</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/timer/PoolShrinkingTask.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.timer.Task"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class bitronix.tm.timer.<A HREF="../../../bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer">Task</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../bitronix/tm/timer/Task.html#getExecutionTime()">getExecutionTime</A>, <A HREF="../../../bitronix/tm/timer/Task.html#getTaskScheduler()">getTaskScheduler</A>, <A HREF="../../../bitronix/tm/timer/Task.html#setExecutionTime(java.util.Date)">setExecutionTime</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="PoolShrinkingTask(bitronix.tm.resource.common.XAPool, java.util.Date, bitronix.tm.timer.TaskScheduler)"><!-- --></A><H3>
+PoolShrinkingTask</H3>
+<PRE>
+public <B>PoolShrinkingTask</B>(<A HREF="../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A> xaPool,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> executionTime,
+ <A HREF="../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A> scheduler)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getObject()"><!-- --></A><H3>
+getObject</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getObject</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/timer/Task.html#getObject()">getObject</A></CODE> in class <CODE><A HREF="../../../bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer">Task</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="execute()"><!-- --></A><H3>
+execute</H3>
+<PRE>
+public void <B>execute</B>()
+ throws <A HREF="../../../bitronix/tm/timer/TaskException.html" title="class in bitronix.tm.timer">TaskException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/timer/Task.html#execute()">execute</A></CODE> in class <CODE><A HREF="../../../bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer">Task</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../bitronix/tm/timer/TaskException.html" title="class in bitronix.tm.timer">TaskException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PoolShrinkingTask.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../bitronix/tm/timer/RecoveryTask.html" title="class in bitronix.tm.timer"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/timer/PoolShrinkingTask.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PoolShrinkingTask.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/timer/RecoveryTask.html b/doc/api/bitronix/tm/timer/RecoveryTask.html
new file mode 100644
index 0000000..c303dcf
--- /dev/null
+++ b/doc/api/bitronix/tm/timer/RecoveryTask.html
@@ -0,0 +1,325 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:05 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+RecoveryTask (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="RecoveryTask (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RecoveryTask.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/timer/PoolShrinkingTask.html" title="class in bitronix.tm.timer"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/timer/RecoveryTask.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="RecoveryTask.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.timer</FONT>
+<BR>
+Class RecoveryTask</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer">bitronix.tm.timer.Task</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.timer.RecoveryTask</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>RecoveryTask</B><DT>extends <A HREF="../../../bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer">Task</A></DL>
+</PRE>
+
+<P>
+This task is used to run the background recovery.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/timer/RecoveryTask.html#RecoveryTask(bitronix.tm.recovery.Recoverer, java.util.Date, bitronix.tm.timer.TaskScheduler)">RecoveryTask</A></B>(<A HREF="../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A> recoverer,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> executionTime,
+ <A HREF="../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A> scheduler)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/timer/RecoveryTask.html#execute()">execute</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/timer/RecoveryTask.html#getObject()">getObject</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/timer/RecoveryTask.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.timer.Task"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class bitronix.tm.timer.<A HREF="../../../bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer">Task</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../bitronix/tm/timer/Task.html#getExecutionTime()">getExecutionTime</A>, <A HREF="../../../bitronix/tm/timer/Task.html#getTaskScheduler()">getTaskScheduler</A>, <A HREF="../../../bitronix/tm/timer/Task.html#setExecutionTime(java.util.Date)">setExecutionTime</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="RecoveryTask(bitronix.tm.recovery.Recoverer, java.util.Date, bitronix.tm.timer.TaskScheduler)"><!-- --></A><H3>
+RecoveryTask</H3>
+<PRE>
+public <B>RecoveryTask</B>(<A HREF="../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A> recoverer,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> executionTime,
+ <A HREF="../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A> scheduler)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getObject()"><!-- --></A><H3>
+getObject</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getObject</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/timer/Task.html#getObject()">getObject</A></CODE> in class <CODE><A HREF="../../../bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer">Task</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="execute()"><!-- --></A><H3>
+execute</H3>
+<PRE>
+public void <B>execute</B>()
+ throws <A HREF="../../../bitronix/tm/timer/TaskException.html" title="class in bitronix.tm.timer">TaskException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/timer/Task.html#execute()">execute</A></CODE> in class <CODE><A HREF="../../../bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer">Task</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../bitronix/tm/timer/TaskException.html" title="class in bitronix.tm.timer">TaskException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/RecoveryTask.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/timer/PoolShrinkingTask.html" title="class in bitronix.tm.timer"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/timer/RecoveryTask.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="RecoveryTask.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/timer/Task.html b/doc/api/bitronix/tm/timer/Task.html
new file mode 100644
index 0000000..bd425b4
--- /dev/null
+++ b/doc/api/bitronix/tm/timer/Task.html
@@ -0,0 +1,347 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:05 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Task (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Task (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Task.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/timer/RecoveryTask.html" title="class in bitronix.tm.timer"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/timer/TaskException.html" title="class in bitronix.tm.timer"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/timer/Task.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Task.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.timer</FONT>
+<BR>
+Class Task</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.timer.Task</B>
+</PRE>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../bitronix/tm/timer/PoolShrinkingTask.html" title="class in bitronix.tm.timer">PoolShrinkingTask</A>, <A HREF="../../../bitronix/tm/timer/RecoveryTask.html" title="class in bitronix.tm.timer">RecoveryTask</A>, <A HREF="../../../bitronix/tm/timer/TransactionTimeoutTask.html" title="class in bitronix.tm.timer">TransactionTimeoutTask</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public abstract class <B>Task</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+Asbtract superclass of all timed tasks.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/timer/Task.html#Task(java.util.Date, bitronix.tm.timer.TaskScheduler)">Task</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> executionTime,
+ <A HREF="../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A> scheduler)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/timer/Task.html#execute()">execute</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/timer/Task.html#getExecutionTime()">getExecutionTime</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/timer/Task.html#getObject()">getObject</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/timer/Task.html#getTaskScheduler()">getTaskScheduler</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/timer/Task.html#setExecutionTime(java.util.Date)">setExecutionTime</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> executionTime)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="Task(java.util.Date, bitronix.tm.timer.TaskScheduler)"><!-- --></A><H3>
+Task</H3>
+<PRE>
+protected <B>Task</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> executionTime,
+ <A HREF="../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A> scheduler)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getExecutionTime()"><!-- --></A><H3>
+getExecutionTime</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> <B>getExecutionTime</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setExecutionTime(java.util.Date)"><!-- --></A><H3>
+setExecutionTime</H3>
+<PRE>
+public void <B>setExecutionTime</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> executionTime)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getTaskScheduler()"><!-- --></A><H3>
+getTaskScheduler</H3>
+<PRE>
+protected <A HREF="../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A> <B>getTaskScheduler</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getObject()"><!-- --></A><H3>
+getObject</H3>
+<PRE>
+public abstract <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getObject</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="execute()"><!-- --></A><H3>
+execute</H3>
+<PRE>
+public abstract void <B>execute</B>()
+ throws <A HREF="../../../bitronix/tm/timer/TaskException.html" title="class in bitronix.tm.timer">TaskException</A></PRE>
+<DL>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../bitronix/tm/timer/TaskException.html" title="class in bitronix.tm.timer">TaskException</A></CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Task.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/timer/RecoveryTask.html" title="class in bitronix.tm.timer"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/timer/TaskException.html" title="class in bitronix.tm.timer"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/timer/Task.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Task.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/timer/TaskException.html b/doc/api/bitronix/tm/timer/TaskException.html
new file mode 100644
index 0000000..422a082
--- /dev/null
+++ b/doc/api/bitronix/tm/timer/TaskException.html
@@ -0,0 +1,249 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:05 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+TaskException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="TaskException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TaskException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/timer/TaskException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TaskException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.timer</FONT>
+<BR>
+Class TaskException</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">java.lang.Throwable</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">java.lang.Exception</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.timer.TaskException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>TaskException</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></DL>
+</PRE>
+
+<P>
+Thrown when an error occurs during the execution of a task.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#bitronix.tm.timer.TaskException">Serialized Form</A></DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/timer/TaskException.html#TaskException(java.lang.String, java.lang.Throwable)">TaskException</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> cause)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#fillInStackTrace()" title="class or interface in java.lang">fillInStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getCause()" title="class or interface in java.lang">getCause</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getLocalizedMessage()" title="class or interface in java.lang [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="TaskException(java.lang.String, java.lang.Throwable)"><!-- --></A><H3>
+TaskException</H3>
+<PRE>
+public <B>TaskException</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> cause)</PRE>
+<DL>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TaskException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/timer/TaskException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TaskException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/timer/TaskScheduler.html b/doc/api/bitronix/tm/timer/TaskScheduler.html
new file mode 100644
index 0000000..2143777
--- /dev/null
+++ b/doc/api/bitronix/tm/timer/TaskScheduler.html
@@ -0,0 +1,514 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:05 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+TaskScheduler (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="TaskScheduler (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TaskScheduler.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/timer/TaskException.html" title="class in bitronix.tm.timer"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/timer/TransactionTimeoutTask.html" title="class in bitronix.tm.timer"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/timer/TaskScheduler.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TaskScheduler.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: <A HREF="#nested_classes_inherited_from_class_java.lang.Thread">NESTED</A> | <A HREF="#fields_inherited_from_class_java.lang.Thread">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.timer</FONT>
+<BR>
+Class TaskScheduler</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">java.lang.Thread</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.timer.TaskScheduler</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>TaskScheduler</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</A><DT>implements <A HREF="../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></DL>
+</PRE>
+
+<P>
+Timed tasks service.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="nested_classes_inherited_from_class_java.lang.Thread"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Nested classes/interfaces inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.State.html?is-external=true" title="class or interface in java.lang">Thread.State</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.UncaughtExceptionHandler.html?is-external=true" title="class or interface in java.lang">Thread.UncaughtExceptionHandler</A></CODE></TD>
+</TR>
+</TABLE>
+
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="fields_inherited_from_class_java.lang.Thread"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Fields inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html?is-external=true#MAX_PRIORITY" title="class or interface in java.lang">MAX_PRIORITY</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html?is-external=true#MIN_PRIORITY" title="class or interface in java.lang">MIN_PRIORITY</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html?is-external=true#NORM_PRIORITY" title="class or interface in java.lang">NORM_PRIORITY</A></ [...]
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/timer/TaskScheduler.html#TaskScheduler()">TaskScheduler</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/timer/TaskScheduler.html#cancelPoolShrinking(bitronix.tm.resource.common.XAPool)">cancelPoolShrinking</A></B>(<A HREF="../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A> xaPool)</CODE>
+
+<BR>
+ Cancel the task that will tell a XA pool to close idle connections.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/timer/TaskScheduler.html#cancelRecovery(bitronix.tm.recovery.Recoverer)">cancelRecovery</A></B>(<A HREF="../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A> recoverer)</CODE>
+
+<BR>
+ Cancel the task that will run background recovery at the specified date.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/timer/TaskScheduler.html#cancelTransactionTimeout(bitronix.tm.BitronixTransaction)">cancelTransactionTimeout</A></B>(<A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> transaction)</CODE>
+
+<BR>
+ Cancel the task that will mark the transaction as timed out at the specified date.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/timer/TaskScheduler.html#countTasksQueued()">countTasksQueued</A></B>()</CODE>
+
+<BR>
+ Get the amount of tasks currently queued.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/timer/TaskScheduler.html#run()">run</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/timer/TaskScheduler.html#schedulePoolShrinking(bitronix.tm.resource.common.XAPool)">schedulePoolShrinking</A></B>(<A HREF="../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A> xaPool)</CODE>
+
+<BR>
+ Schedule a task that will tell a XA pool to close idle connections.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/timer/TaskScheduler.html#scheduleRecovery(bitronix.tm.recovery.Recoverer, java.util.Date)">scheduleRecovery</A></B>(<A HREF="../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A> recoverer,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> executionTime)</CODE>
+
+<BR>
+ Schedule a task that will run background recovery at the specified date.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/timer/TaskScheduler.html#scheduleTransactionTimeout(bitronix.tm.BitronixTransaction, java.util.Date)">scheduleTransactionTimeout</A></B>(<A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> transaction,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> executionTime)</CODE>
+
+<BR>
+ Schedule a task that will mark the transaction as timed out at the specified date.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/timer/TaskScheduler.html#shutdown()">shutdown</A></B>()</CODE>
+
+<BR>
+ Shutdown the service and free all held resources.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Thread"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html?is-external=true#activeCount()" title="class or interface in java.lang">activeCount</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html?is-external=true#checkAccess()" title="class or interface in java.lang">checkAccess</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF= [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="TaskScheduler()"><!-- --></A><H3>
+TaskScheduler</H3>
+<PRE>
+public <B>TaskScheduler</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="countTasksQueued()"><!-- --></A><H3>
+countTasksQueued</H3>
+<PRE>
+public int <B>countTasksQueued</B>()</PRE>
+<DL>
+<DD>Get the amount of tasks currently queued.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the amount of tasks currently queued.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="shutdown()"><!-- --></A><H3>
+shutdown</H3>
+<PRE>
+public void <B>shutdown</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../bitronix/tm/utils/Service.html#shutdown()">Service</A></CODE></B></DD>
+<DD>Shutdown the service and free all held resources.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/utils/Service.html#shutdown()">shutdown</A></CODE> in interface <CODE><A HREF="../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="scheduleTransactionTimeout(bitronix.tm.BitronixTransaction, java.util.Date)"><!-- --></A><H3>
+scheduleTransactionTimeout</H3>
+<PRE>
+public void <B>scheduleTransactionTimeout</B>(<A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> transaction,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> executionTime)</PRE>
+<DL>
+<DD>Schedule a task that will mark the transaction as timed out at the specified date. If this method is called
+ with the same transaction multiple times, the previous timeout date is dropped and replaced by the new one.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>transaction</CODE> - the transaction to mark as timeout.<DD><CODE>executionTime</CODE> - the date at which the transaction must be marked.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="cancelTransactionTimeout(bitronix.tm.BitronixTransaction)"><!-- --></A><H3>
+cancelTransactionTimeout</H3>
+<PRE>
+public void <B>cancelTransactionTimeout</B>(<A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> transaction)</PRE>
+<DL>
+<DD>Cancel the task that will mark the transaction as timed out at the specified date.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>transaction</CODE> - the transaction to mark as timeout.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="scheduleRecovery(bitronix.tm.recovery.Recoverer, java.util.Date)"><!-- --></A><H3>
+scheduleRecovery</H3>
+<PRE>
+public void <B>scheduleRecovery</B>(<A HREF="../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A> recoverer,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> executionTime)</PRE>
+<DL>
+<DD>Schedule a task that will run background recovery at the specified date.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>recoverer</CODE> - the recovery implementation to use.<DD><CODE>executionTime</CODE> - the date at which the transaction must be marked.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="cancelRecovery(bitronix.tm.recovery.Recoverer)"><!-- --></A><H3>
+cancelRecovery</H3>
+<PRE>
+public void <B>cancelRecovery</B>(<A HREF="../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A> recoverer)</PRE>
+<DL>
+<DD>Cancel the task that will run background recovery at the specified date.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>recoverer</CODE> - the recovery implementation to use.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="schedulePoolShrinking(bitronix.tm.resource.common.XAPool)"><!-- --></A><H3>
+schedulePoolShrinking</H3>
+<PRE>
+public void <B>schedulePoolShrinking</B>(<A HREF="../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A> xaPool)</PRE>
+<DL>
+<DD>Schedule a task that will tell a XA pool to close idle connections. The execution time will be provided by the
+ XA pool itself via the <A HREF="../../../bitronix/tm/resource/common/XAPool.html#getNextShrinkDate()"><CODE>XAPool.getNextShrinkDate()</CODE></A>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xaPool</CODE> - the XA pool to notify.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="cancelPoolShrinking(bitronix.tm.resource.common.XAPool)"><!-- --></A><H3>
+cancelPoolShrinking</H3>
+<PRE>
+public void <B>cancelPoolShrinking</B>(<A HREF="../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A> xaPool)</PRE>
+<DL>
+<DD>Cancel the task that will tell a XA pool to close idle connections.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xaPool</CODE> - the XA pool to notify.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="run()"><!-- --></A><H3>
+run</H3>
+<PRE>
+public void <B>run</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true#run()" title="class or interface in java.lang">run</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html?is-external=true#run()" title="clas [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TaskScheduler.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/timer/TaskException.html" title="class in bitronix.tm.timer"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/timer/TransactionTimeoutTask.html" title="class in bitronix.tm.timer"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/timer/TaskScheduler.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TaskScheduler.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: <A HREF="#nested_classes_inherited_from_class_java.lang.Thread">NESTED</A> | <A HREF="#fields_inherited_from_class_java.lang.Thread">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/timer/TransactionTimeoutTask.html b/doc/api/bitronix/tm/timer/TransactionTimeoutTask.html
new file mode 100644
index 0000000..581ccf5
--- /dev/null
+++ b/doc/api/bitronix/tm/timer/TransactionTimeoutTask.html
@@ -0,0 +1,325 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:05 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+TransactionTimeoutTask (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="TransactionTimeoutTask (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TransactionTimeoutTask.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/timer/TransactionTimeoutTask.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionTimeoutTask.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.timer</FONT>
+<BR>
+Class TransactionTimeoutTask</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer">bitronix.tm.timer.Task</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.timer.TransactionTimeoutTask</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>TransactionTimeoutTask</B><DT>extends <A HREF="../../../bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer">Task</A></DL>
+</PRE>
+
+<P>
+This task is used to mark a transaction as timed-out.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/timer/TransactionTimeoutTask.html#TransactionTimeoutTask(bitronix.tm.BitronixTransaction, java.util.Date, bitronix.tm.timer.TaskScheduler)">TransactionTimeoutTask</A></B>(<A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> transaction,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> executionTime,
+ <A HREF="../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A> scheduler)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/timer/TransactionTimeoutTask.html#execute()">execute</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/timer/TransactionTimeoutTask.html#getObject()">getObject</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/timer/TransactionTimeoutTask.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.timer.Task"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class bitronix.tm.timer.<A HREF="../../../bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer">Task</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../bitronix/tm/timer/Task.html#getExecutionTime()">getExecutionTime</A>, <A HREF="../../../bitronix/tm/timer/Task.html#getTaskScheduler()">getTaskScheduler</A>, <A HREF="../../../bitronix/tm/timer/Task.html#setExecutionTime(java.util.Date)">setExecutionTime</A></CODE></TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="TransactionTimeoutTask(bitronix.tm.BitronixTransaction, java.util.Date, bitronix.tm.timer.TaskScheduler)"><!-- --></A><H3>
+TransactionTimeoutTask</H3>
+<PRE>
+public <B>TransactionTimeoutTask</B>(<A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> transaction,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> executionTime,
+ <A HREF="../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A> scheduler)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getObject()"><!-- --></A><H3>
+getObject</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getObject</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/timer/Task.html#getObject()">getObject</A></CODE> in class <CODE><A HREF="../../../bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer">Task</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="execute()"><!-- --></A><H3>
+execute</H3>
+<PRE>
+public void <B>execute</B>()
+ throws <A HREF="../../../bitronix/tm/timer/TaskException.html" title="class in bitronix.tm.timer">TaskException</A></PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/timer/Task.html#execute()">execute</A></CODE> in class <CODE><A HREF="../../../bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer">Task</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../bitronix/tm/timer/TaskException.html" title="class in bitronix.tm.timer">TaskException</A></CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/TransactionTimeoutTask.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/timer/TransactionTimeoutTask.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionTimeoutTask.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/timer/class-use/PoolShrinkingTask.html b/doc/api/bitronix/tm/timer/class-use/PoolShrinkingTask.html
new file mode 100644
index 0000000..236ca47
--- /dev/null
+++ b/doc/api/bitronix/tm/timer/class-use/PoolShrinkingTask.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.timer.PoolShrinkingTask (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.timer.PoolShrinkingTask (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/timer/PoolShrinkingTask.html" title="class in bitronix.tm.timer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/timer//class-usePoolShrinkingTask.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PoolShrinkingTask.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.timer.PoolShrinkingTask</B></H2>
+</CENTER>
+No usage of bitronix.tm.timer.PoolShrinkingTask
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/timer/PoolShrinkingTask.html" title="class in bitronix.tm.timer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/timer//class-usePoolShrinkingTask.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PoolShrinkingTask.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/timer/class-use/RecoveryTask.html b/doc/api/bitronix/tm/timer/class-use/RecoveryTask.html
new file mode 100644
index 0000000..aee1062
--- /dev/null
+++ b/doc/api/bitronix/tm/timer/class-use/RecoveryTask.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.timer.RecoveryTask (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.timer.RecoveryTask (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/timer/RecoveryTask.html" title="class in bitronix.tm.timer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/timer//class-useRecoveryTask.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="RecoveryTask.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.timer.RecoveryTask</B></H2>
+</CENTER>
+No usage of bitronix.tm.timer.RecoveryTask
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/timer/RecoveryTask.html" title="class in bitronix.tm.timer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/timer//class-useRecoveryTask.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="RecoveryTask.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/timer/class-use/Task.html b/doc/api/bitronix/tm/timer/class-use/Task.html
new file mode 100644
index 0000000..08c5039
--- /dev/null
+++ b/doc/api/bitronix/tm/timer/class-use/Task.html
@@ -0,0 +1,198 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.timer.Task (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.timer.Task (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/timer//class-useTask.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Task.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.timer.Task</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer">Task</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.timer"><B>bitronix.tm.timer</B></A></TD>
+<TD>
+ Timed tasks scheduler. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.timer"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer">Task</A> in <A HREF="../../../../bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer">Task</A> in <A HREF="../../../../bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/timer/PoolShrinkingTask.html" title="class in bitronix.tm.timer">PoolShrinkingTask</A></B></CODE>
+
+<BR>
+ This task is used to notify a XA pool to close idle connections.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/timer/RecoveryTask.html" title="class in bitronix.tm.timer">RecoveryTask</A></B></CODE>
+
+<BR>
+ This task is used to run the background recovery.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/timer/TransactionTimeoutTask.html" title="class in bitronix.tm.timer">TransactionTimeoutTask</A></B></CODE>
+
+<BR>
+ This task is used to mark a transaction as timed-out.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/timer//class-useTask.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Task.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/timer/class-use/TaskException.html b/doc/api/bitronix/tm/timer/class-use/TaskException.html
new file mode 100644
index 0000000..ee8c160
--- /dev/null
+++ b/doc/api/bitronix/tm/timer/class-use/TaskException.html
@@ -0,0 +1,206 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.timer.TaskException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.timer.TaskException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/timer/TaskException.html" title="class in bitronix.tm.timer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/timer//class-useTaskException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TaskException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.timer.TaskException</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../bitronix/tm/timer/TaskException.html" title="class in bitronix.tm.timer">TaskException</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.timer"><B>bitronix.tm.timer</B></A></TD>
+<TD>
+ Timed tasks scheduler. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.timer"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/timer/TaskException.html" title="class in bitronix.tm.timer">TaskException</A> in <A HREF="../../../../bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A> that throw <A HREF="../../../../bitronix/tm/timer/TaskException.html" title="class in bitronix.tm.timer">TaskException</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>TransactionTimeoutTask.</B><B><A HREF="../../../../bitronix/tm/timer/TransactionTimeoutTask.html#execute()">execute</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>abstract void</CODE></FONT></TD>
+<TD><CODE><B>Task.</B><B><A HREF="../../../../bitronix/tm/timer/Task.html#execute()">execute</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>RecoveryTask.</B><B><A HREF="../../../../bitronix/tm/timer/RecoveryTask.html#execute()">execute</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>PoolShrinkingTask.</B><B><A HREF="../../../../bitronix/tm/timer/PoolShrinkingTask.html#execute()">execute</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/timer/TaskException.html" title="class in bitronix.tm.timer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/timer//class-useTaskException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TaskException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/timer/class-use/TaskScheduler.html b/doc/api/bitronix/tm/timer/class-use/TaskScheduler.html
new file mode 100644
index 0000000..f897625
--- /dev/null
+++ b/doc/api/bitronix/tm/timer/class-use/TaskScheduler.html
@@ -0,0 +1,251 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.timer.TaskScheduler (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.timer.TaskScheduler (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/timer//class-useTaskScheduler.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TaskScheduler.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.timer.TaskScheduler</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm"><B>bitronix.tm</B></A></TD>
+<TD>
+ JTA interfaces implementations and global services. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.timer"><B>bitronix.tm.timer</B></A></TD>
+<TD>
+ Timed tasks scheduler. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A> in <A HREF="../../../../bitronix/tm/package-summary.html">bitronix.tm</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/package-summary.html">bitronix.tm</A> that return <A HREF="../../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A></CODE></FONT></TD>
+<TD><CODE><B>TransactionManagerServices.</B><B><A HREF="../../../../bitronix/tm/TransactionManagerServices.html#getTaskScheduler()">getTaskScheduler</A></B>()</CODE>
+
+<BR>
+ Create the task scheduler.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.timer"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A> in <A HREF="../../../../bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A> that return <A HREF="../../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A></CODE></FONT></TD>
+<TD><CODE><B>Task.</B><B><A HREF="../../../../bitronix/tm/timer/Task.html#getTaskScheduler()">getTaskScheduler</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A> with parameters of type <A HREF="../../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/timer/PoolShrinkingTask.html#PoolShrinkingTask(bitronix.tm.resource.common.XAPool, java.util.Date, bitronix.tm.timer.TaskScheduler)">PoolShrinkingTask</A></B>(<A HREF="../../../../bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A> xaPool,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> executionTime,
+ <A HREF="../../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A> scheduler)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/timer/RecoveryTask.html#RecoveryTask(bitronix.tm.recovery.Recoverer, java.util.Date, bitronix.tm.timer.TaskScheduler)">RecoveryTask</A></B>(<A HREF="../../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A> recoverer,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> executionTime,
+ <A HREF="../../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A> scheduler)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/timer/Task.html#Task(java.util.Date, bitronix.tm.timer.TaskScheduler)">Task</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> executionTime,
+ <A HREF="../../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A> scheduler)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/timer/TransactionTimeoutTask.html#TransactionTimeoutTask(bitronix.tm.BitronixTransaction, java.util.Date, bitronix.tm.timer.TaskScheduler)">TransactionTimeoutTask</A></B>(<A HREF="../../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> transaction,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> executionTime,
+ <A HREF="../../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A> scheduler)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/timer//class-useTaskScheduler.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TaskScheduler.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/timer/class-use/TransactionTimeoutTask.html b/doc/api/bitronix/tm/timer/class-use/TransactionTimeoutTask.html
new file mode 100644
index 0000000..fc322fe
--- /dev/null
+++ b/doc/api/bitronix/tm/timer/class-use/TransactionTimeoutTask.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.timer.TransactionTimeoutTask (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.timer.TransactionTimeoutTask (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/timer/TransactionTimeoutTask.html" title="class in bitronix.tm.timer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/timer//class-useTransactionTimeoutTask.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionTimeoutTask.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.timer.TransactionTimeoutTask</B></H2>
+</CENTER>
+No usage of bitronix.tm.timer.TransactionTimeoutTask
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/timer/TransactionTimeoutTask.html" title="class in bitronix.tm.timer"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/timer//class-useTransactionTimeoutTask.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="TransactionTimeoutTask.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/timer/package-frame.html b/doc/api/bitronix/tm/timer/package-frame.html
new file mode 100644
index 0000000..002dd60
--- /dev/null
+++ b/doc/api/bitronix/tm/timer/package-frame.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.timer (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../bitronix/tm/timer/package-summary.html" target="classFrame">bitronix.tm.timer</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="PoolShrinkingTask.html" title="class in bitronix.tm.timer" target="classFrame">PoolShrinkingTask</A>
+<BR>
+<A HREF="RecoveryTask.html" title="class in bitronix.tm.timer" target="classFrame">RecoveryTask</A>
+<BR>
+<A HREF="Task.html" title="class in bitronix.tm.timer" target="classFrame">Task</A>
+<BR>
+<A HREF="TaskScheduler.html" title="class in bitronix.tm.timer" target="classFrame">TaskScheduler</A>
+<BR>
+<A HREF="TransactionTimeoutTask.html" title="class in bitronix.tm.timer" target="classFrame">TransactionTimeoutTask</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Exceptions</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="TaskException.html" title="class in bitronix.tm.timer" target="classFrame">TaskException</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/timer/package-summary.html b/doc/api/bitronix/tm/timer/package-summary.html
new file mode 100644
index 0000000..f5e317c
--- /dev/null
+++ b/doc/api/bitronix/tm/timer/package-summary.html
@@ -0,0 +1,206 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.timer (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.timer (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/resource/jms/lrc/package-summary.html"><B>PREV PACKAGE</B></A>
+ <A HREF="../../../bitronix/tm/twopc/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/timer/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package bitronix.tm.timer
+</H2>
+
+ Timed tasks scheduler.
+<P>
+<B>See:</B>
+<BR>
+ <A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/timer/PoolShrinkingTask.html" title="class in bitronix.tm.timer">PoolShrinkingTask</A></B></TD>
+<TD>This task is used to notify a XA pool to close idle connections.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/timer/RecoveryTask.html" title="class in bitronix.tm.timer">RecoveryTask</A></B></TD>
+<TD>This task is used to run the background recovery.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer">Task</A></B></TD>
+<TD>Asbtract superclass of all timed tasks.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A></B></TD>
+<TD>Timed tasks service.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/timer/TransactionTimeoutTask.html" title="class in bitronix.tm.timer">TransactionTimeoutTask</A></B></TD>
+<TD>This task is used to mark a transaction as timed-out.</TD>
+</TR>
+</TABLE>
+
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Exception Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/timer/TaskException.html" title="class in bitronix.tm.timer">TaskException</A></B></TD>
+<TD>Thrown when an error occurs during the execution of a task.</TD>
+</TR>
+</TABLE>
+
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package bitronix.tm.timer Description
+</H2>
+
+<P>
+<p>
+ Timed tasks scheduler.
+ </p>
+<P>
+
+<P>
+<DL>
+</DL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/resource/jms/lrc/package-summary.html"><B>PREV PACKAGE</B></A>
+ <A HREF="../../../bitronix/tm/twopc/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/timer/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/timer/package-tree.html b/doc/api/bitronix/tm/timer/package-tree.html
new file mode 100644
index 0000000..da35ed1
--- /dev/null
+++ b/doc/api/bitronix/tm/timer/package-tree.html
@@ -0,0 +1,165 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.timer Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.timer Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/resource/jms/lrc/package-tree.html"><B>PREV</B></A>
+ <A HREF="../../../bitronix/tm/twopc/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/timer/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package bitronix.tm.timer
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">bitronix.tm.timer.<A HREF="../../../bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer"><B>Task</B></A><UL>
+<LI TYPE="circle">bitronix.tm.timer.<A HREF="../../../bitronix/tm/timer/PoolShrinkingTask.html" title="class in bitronix.tm.timer"><B>PoolShrinkingTask</B></A><LI TYPE="circle">bitronix.tm.timer.<A HREF="../../../bitronix/tm/timer/RecoveryTask.html" title="class in bitronix.tm.timer"><B>RecoveryTask</B></A><LI TYPE="circle">bitronix.tm.timer.<A HREF="../../../bitronix/tm/timer/TransactionTimeoutTask.html" title="class in bitronix.tm.timer"><B>TransactionTimeoutTask</B></A></UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang"><B>Thread</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A>)
+<UL>
+<LI TYPE="circle">bitronix.tm.timer.<A HREF="../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer"><B>TaskScheduler</B></A> (implements bitronix.tm.utils.<A HREF="../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A>)
+</UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><B>Throwable</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>)
+<UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><B>Exception</B></A><UL>
+<LI TYPE="circle">bitronix.tm.timer.<A HREF="../../../bitronix/tm/timer/TaskException.html" title="class in bitronix.tm.timer"><B>TaskException</B></A></UL>
+</UL>
+</UL>
+</UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/resource/jms/lrc/package-tree.html"><B>PREV</B></A>
+ <A HREF="../../../bitronix/tm/twopc/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/timer/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/timer/package-use.html b/doc/api/bitronix/tm/timer/package-use.html
new file mode 100644
index 0000000..bb74fc2
--- /dev/null
+++ b/doc/api/bitronix/tm/timer/package-use.html
@@ -0,0 +1,204 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Package bitronix.tm.timer (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Package bitronix.tm.timer (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/timer/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>bitronix.tm.timer</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm"><B>bitronix.tm</B></A></TD>
+<TD>
+ JTA interfaces implementations and global services. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.timer"><B>bitronix.tm.timer</B></A></TD>
+<TD>
+ Timed tasks scheduler. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A> used by <A HREF="../../../bitronix/tm/package-summary.html">bitronix.tm</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/timer/class-use/TaskScheduler.html#bitronix.tm"><B>TaskScheduler</B></A></B>
+
+<BR>
+ Timed tasks service.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.timer"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A> used by <A HREF="../../../bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/timer/class-use/Task.html#bitronix.tm.timer"><B>Task</B></A></B>
+
+<BR>
+ Asbtract superclass of all timed tasks.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/timer/class-use/TaskException.html#bitronix.tm.timer"><B>TaskException</B></A></B>
+
+<BR>
+ Thrown when an error occurs during the execution of a task.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/timer/class-use/TaskScheduler.html#bitronix.tm.timer"><B>TaskScheduler</B></A></B>
+
+<BR>
+ Timed tasks service.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/timer/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/twopc/AbstractPhaseEngine.html b/doc/api/bitronix/tm/twopc/AbstractPhaseEngine.html
new file mode 100644
index 0000000..1fad914
--- /dev/null
+++ b/doc/api/bitronix/tm/twopc/AbstractPhaseEngine.html
@@ -0,0 +1,385 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:05 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+AbstractPhaseEngine (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="AbstractPhaseEngine (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AbstractPhaseEngine.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../bitronix/tm/twopc/Committer.html" title="class in bitronix.tm.twopc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/twopc/AbstractPhaseEngine.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="AbstractPhaseEngine.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.twopc</FONT>
+<BR>
+Class AbstractPhaseEngine</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.twopc.AbstractPhaseEngine</B>
+</PRE>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../bitronix/tm/twopc/Committer.html" title="class in bitronix.tm.twopc">Committer</A>, <A HREF="../../../bitronix/tm/twopc/Preparer.html" title="class in bitronix.tm.twopc">Preparer</A>, <A HREF="../../../bitronix/tm/twopc/Rollbacker.html" title="class in bitronix.tm.twopc">Rollbacker</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public abstract class <B>AbstractPhaseEngine</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+Abstract phase execution engine.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html#AbstractPhaseEngine(bitronix.tm.twopc.executor.Executor)">AbstractPhaseEngine</A></B>(<A HREF="../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A> executor)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html#collectNotInterestedResources(java.util.List, java.util.List)">collectNotInterestedResources</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> allResources,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> interestedResources)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html#collectResourcesUniqueNames(java.util.List)">collectResourcesUniqueNames</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> resources)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected abstract <A HREF="../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html#createJob(bitronix.tm.internal.XAResourceHolderState)">createJob</A></B>(<A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</CODE>
+
+<BR>
+ Create a <A HREF="../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor"><CODE>Job</CODE></A> that is going to execute the phase command on the given resource.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html#executePhase(bitronix.tm.internal.XAResourceManager, boolean)">executePhase</A></B>(<A HREF="../../../bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal">XAResourceManager</A> resourceManager,
+ boolean reverse)</CODE>
+
+<BR>
+ Execute the phase.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected abstract boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html#isParticipating(bitronix.tm.internal.XAResourceHolderState)">isParticipating</A></B>(<A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</CODE>
+
+<BR>
+ Determine if a resource is participating in the phase or not.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html#logFailedResources(bitronix.tm.twopc.PhaseException)">logFailedResources</A></B>(<A HREF="../../../bitronix/tm/twopc/PhaseException.html" title="class in bitronix.tm.twopc">PhaseException</A> ex)</CODE>
+
+<BR>
+ Log exceptions that happened during a phase failure.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="AbstractPhaseEngine(bitronix.tm.twopc.executor.Executor)"><!-- --></A><H3>
+AbstractPhaseEngine</H3>
+<PRE>
+protected <B>AbstractPhaseEngine</B>(<A HREF="../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A> executor)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="executePhase(bitronix.tm.internal.XAResourceManager, boolean)"><!-- --></A><H3>
+executePhase</H3>
+<PRE>
+protected void <B>executePhase</B>(<A HREF="../../../bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal">XAResourceManager</A> resourceManager,
+ boolean reverse)
+ throws <A HREF="../../../bitronix/tm/twopc/PhaseException.html" title="class in bitronix.tm.twopc">PhaseException</A></PRE>
+<DL>
+<DD>Execute the phase. Resources receive the phase command in position order (reversed or not). If there is more than
+ once resource in a position, command is sent in enlistment order (again reversed or not).
+ If <A HREF="../../../bitronix/tm/Configuration.html#isAsynchronous2Pc()"><CODE>Configuration.isAsynchronous2Pc()</CODE></A> is true, all commands in a given position are sent
+ in parallel by using the detected <A HREF="../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor"><CODE>Executor</CODE></A> implementation.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>resourceManager</CODE> - the <A HREF="../../../bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal"><CODE>XAResourceManager</CODE></A> containing the enlisted resources to execute the phase on.<DD><CODE>reverse</CODE> - true if jobs should be executed in reverse position / enlistment order, false for natural position / enlistment order.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../bitronix/tm/twopc/PhaseException.html" title="class in bitronix.tm.twopc">PhaseException</A></CODE> - if one or more resource threw an exception during phase execution.<DT><B>See Also:</B><DD><A HREF="../../../bitronix/tm/twopc/executor/SyncExecutor.html" title="class in bitronix.tm.twopc.executor"><CODE>SyncExecutor</CODE></A>,
+<A HREF="../../../bitronix/tm/twopc/executor/SimpleAsyncExecutor.html" title="class in bitronix.tm.twopc.executor"><CODE>SimpleAsyncExecutor</CODE></A>,
+<A HREF="../../../bitronix/tm/twopc/executor/ConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor"><CODE>ConcurrentExecutor</CODE></A>,
+<A HREF="../../../bitronix/tm/twopc/executor/BackportConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor"><CODE>BackportConcurrentExecutor</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isParticipating(bitronix.tm.internal.XAResourceHolderState)"><!-- --></A><H3>
+isParticipating</H3>
+<PRE>
+protected abstract boolean <B>isParticipating</B>(<A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</PRE>
+<DL>
+<DD>Determine if a resource is participating in the phase or not. A participating resource gets
+ a job created to execute the phase's command on it.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xaResourceHolderState</CODE> - the resource to check for its participation.
+<DT><B>Returns:</B><DD>true if the resource must participate in the phase.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createJob(bitronix.tm.internal.XAResourceHolderState)"><!-- --></A><H3>
+createJob</H3>
+<PRE>
+protected abstract <A HREF="../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A> <B>createJob</B>(<A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</PRE>
+<DL>
+<DD>Create a <A HREF="../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor"><CODE>Job</CODE></A> that is going to execute the phase command on the given resource.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xaResourceHolderState</CODE> - the resource that is going to receive a command.
+<DT><B>Returns:</B><DD>the <A HREF="../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor"><CODE>Job</CODE></A> that is going to execute the command.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="logFailedResources(bitronix.tm.twopc.PhaseException)"><!-- --></A><H3>
+logFailedResources</H3>
+<PRE>
+protected void <B>logFailedResources</B>(<A HREF="../../../bitronix/tm/twopc/PhaseException.html" title="class in bitronix.tm.twopc">PhaseException</A> ex)</PRE>
+<DL>
+<DD>Log exceptions that happened during a phase failure.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>ex</CODE> - the phase exception.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="collectResourcesUniqueNames(java.util.List)"><!-- --></A><H3>
+collectResourcesUniqueNames</H3>
+<PRE>
+protected static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A> <B>collectResourcesUniqueNames</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> resources)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="collectNotInterestedResources(java.util.List, java.util.List)"><!-- --></A><H3>
+collectNotInterestedResources</H3>
+<PRE>
+protected static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>collectNotInterestedResources</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> allResources,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> interestedResources)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/AbstractPhaseEngine.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../bitronix/tm/twopc/Committer.html" title="class in bitronix.tm.twopc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/twopc/AbstractPhaseEngine.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="AbstractPhaseEngine.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/twopc/Committer.html b/doc/api/bitronix/tm/twopc/Committer.html
new file mode 100644
index 0000000..d92a34b
--- /dev/null
+++ b/doc/api/bitronix/tm/twopc/Committer.html
@@ -0,0 +1,335 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:05 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Committer (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Committer (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Committer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/twopc/PhaseException.html" title="class in bitronix.tm.twopc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/twopc/Committer.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Committer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.twopc</FONT>
+<BR>
+Class Committer</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc">bitronix.tm.twopc.AbstractPhaseEngine</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.twopc.Committer</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>Committer</B><DT>extends <A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc">AbstractPhaseEngine</A></DL>
+</PRE>
+
+<P>
+Phase 2 Commit logic engine.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/twopc/Committer.html#Committer(bitronix.tm.twopc.executor.Executor)">Committer</A></B>(<A HREF="../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A> executor)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/twopc/Committer.html#commit(bitronix.tm.BitronixTransaction, java.util.List)">commit</A></B>(<A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> transaction,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> interestedResources)</CODE>
+
+<BR>
+ Execute phase 2 commit.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/twopc/Committer.html#createJob(bitronix.tm.internal.XAResourceHolderState)">createJob</A></B>(<A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> resourceHolder)</CODE>
+
+<BR>
+ Create a <A HREF="../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor"><CODE>Job</CODE></A> that is going to execute the phase command on the given resource.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/twopc/Committer.html#isParticipating(bitronix.tm.internal.XAResourceHolderState)">isParticipating</A></B>(<A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</CODE>
+
+<BR>
+ Determine if a resource is participating in the phase or not.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.twopc.AbstractPhaseEngine"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class bitronix.tm.twopc.<A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc">AbstractPhaseEngine</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html#collectNotInterestedResources(java.util.List, java.util.List)">collectNotInterestedResources</A>, <A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html#collectResourcesUniqueNames(java.util.List)">collectResourcesUniqueNames</A>, <A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html#executePhase(bitronix.tm.internal.XAResourceManager, boolean)">executePhase</A>, <A HREF="../../../bitronix/tm/twopc/Abstra [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="Committer(bitronix.tm.twopc.executor.Executor)"><!-- --></A><H3>
+Committer</H3>
+<PRE>
+public <B>Committer</B>(<A HREF="../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A> executor)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="commit(bitronix.tm.BitronixTransaction, java.util.List)"><!-- --></A><H3>
+commit</H3>
+<PRE>
+public void <B>commit</B>(<A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> transaction,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> interestedResources)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicMixedException.html?is-external=true" title="class or interface in javax.transaction">HeuristicMixedException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicRollbackException.html?is-external=true" title="class or interface in javax.transaction">HeuristicRollbackException</A>,
+ <A HREF="../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A></PRE>
+<DL>
+<DD>Execute phase 2 commit.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>transaction</CODE> - the transaction wanting to commit phase 2<DD><CODE>interestedResources</CODE> - a map of phase 1 prepared resources wanting to participate in phase 2 using Xids as keys
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicRollbackException.html?is-external=true" title="class or interface in javax.transaction">HeuristicRollbackException</A></CODE> - when all resources committed instead.
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicMixedException.html?is-external=true" title="class or interface in javax.transaction">HeuristicMixedException</A></CODE> - when some resources committed and some rolled back.
+<DD><CODE><A HREF="../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A></CODE> - when an internal error occured.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createJob(bitronix.tm.internal.XAResourceHolderState)"><!-- --></A><H3>
+createJob</H3>
+<PRE>
+protected <A HREF="../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A> <B>createJob</B>(<A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> resourceHolder)</PRE>
+<DL>
+<DD><B>Description copied from class: <CODE><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html#createJob(bitronix.tm.internal.XAResourceHolderState)">AbstractPhaseEngine</A></CODE></B></DD>
+<DD>Create a <A HREF="../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor"><CODE>Job</CODE></A> that is going to execute the phase command on the given resource.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html#createJob(bitronix.tm.internal.XAResourceHolderState)">createJob</A></CODE> in class <CODE><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc">AbstractPhaseEngine</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>resourceHolder</CODE> - the resource that is going to receive a command.
+<DT><B>Returns:</B><DD>the <A HREF="../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor"><CODE>Job</CODE></A> that is going to execute the command.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isParticipating(bitronix.tm.internal.XAResourceHolderState)"><!-- --></A><H3>
+isParticipating</H3>
+<PRE>
+protected boolean <B>isParticipating</B>(<A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</PRE>
+<DL>
+<DD><B>Description copied from class: <CODE><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html#isParticipating(bitronix.tm.internal.XAResourceHolderState)">AbstractPhaseEngine</A></CODE></B></DD>
+<DD>Determine if a resource is participating in the phase or not. A participating resource gets
+ a job created to execute the phase's command on it.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html#isParticipating(bitronix.tm.internal.XAResourceHolderState)">isParticipating</A></CODE> in class <CODE><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc">AbstractPhaseEngine</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xaResourceHolderState</CODE> - the resource to check for its participation.
+<DT><B>Returns:</B><DD>true if the resource must participate in the phase.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Committer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/twopc/PhaseException.html" title="class in bitronix.tm.twopc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/twopc/Committer.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Committer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/twopc/PhaseException.html b/doc/api/bitronix/tm/twopc/PhaseException.html
new file mode 100644
index 0000000..961846c
--- /dev/null
+++ b/doc/api/bitronix/tm/twopc/PhaseException.html
@@ -0,0 +1,326 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:05 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+PhaseException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="PhaseException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PhaseException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/twopc/Committer.html" title="class in bitronix.tm.twopc"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/twopc/Preparer.html" title="class in bitronix.tm.twopc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/twopc/PhaseException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PhaseException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.twopc</FONT>
+<BR>
+Class PhaseException</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">java.lang.Throwable</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">java.lang.Exception</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.twopc.PhaseException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>PhaseException</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></DL>
+</PRE>
+
+<P>
+Thrown when a phase exection has thrown one or more exception(s).
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#bitronix.tm.twopc.PhaseException">Serialized Form</A></DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/twopc/PhaseException.html#PhaseException(java.util.List, java.util.List)">PhaseException</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> exceptions,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> resourceStates)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/twopc/PhaseException.html#getExceptions()">getExceptions</A></B>()</CODE>
+
+<BR>
+ Get the list of exceptions that have been thrown during a phase execution.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/twopc/PhaseException.html#getMessage()">getMessage</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/twopc/PhaseException.html#getResourceStates()">getResourceStates</A></B>()</CODE>
+
+<BR>
+ Get the list of resource which threw an exception during a phase execution.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#fillInStackTrace()" title="class or interface in java.lang">fillInStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getCause()" title="class or interface in java.lang">getCause</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getLocalizedMessage()" title="class or interface in java.lang [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="PhaseException(java.util.List, java.util.List)"><!-- --></A><H3>
+PhaseException</H3>
+<PRE>
+public <B>PhaseException</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> exceptions,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> resourceStates)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getMessage()"><!-- --></A><H3>
+getMessage</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>getMessage</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getMessage()" title="class or interface in java.lang">getMessage</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getExceptions()"><!-- --></A><H3>
+getExceptions</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>getExceptions</B>()</PRE>
+<DL>
+<DD>Get the list of exceptions that have been thrown during a phase execution.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the list of exceptions that have been thrown during a phase execution.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getResourceStates()"><!-- --></A><H3>
+getResourceStates</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>getResourceStates</B>()</PRE>
+<DL>
+<DD>Get the list of resource which threw an exception during a phase execution.
+ This list always contains exactly one resource per exception present in <A HREF="../../../bitronix/tm/twopc/PhaseException.html#getExceptions()"><CODE>getExceptions()</CODE></A> list.
+ Indices of both list always match a resource against the exception it threw.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the list of resource which threw an exception during a phase execution.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PhaseException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/twopc/Committer.html" title="class in bitronix.tm.twopc"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/twopc/Preparer.html" title="class in bitronix.tm.twopc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/twopc/PhaseException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PhaseException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/twopc/Preparer.html b/doc/api/bitronix/tm/twopc/Preparer.html
new file mode 100644
index 0000000..43b4115
--- /dev/null
+++ b/doc/api/bitronix/tm/twopc/Preparer.html
@@ -0,0 +1,333 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Preparer (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Preparer (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Preparer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/twopc/PhaseException.html" title="class in bitronix.tm.twopc"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/twopc/Rollbacker.html" title="class in bitronix.tm.twopc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/twopc/Preparer.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Preparer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.twopc</FONT>
+<BR>
+Class Preparer</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc">bitronix.tm.twopc.AbstractPhaseEngine</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.twopc.Preparer</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>Preparer</B><DT>extends <A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc">AbstractPhaseEngine</A></DL>
+</PRE>
+
+<P>
+Phase 1 Prepare logic engine.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/twopc/Preparer.html#Preparer(bitronix.tm.twopc.executor.Executor)">Preparer</A></B>(<A HREF="../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A> executor)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/twopc/Preparer.html#createJob(bitronix.tm.internal.XAResourceHolderState)">createJob</A></B>(<A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</CODE>
+
+<BR>
+ Create a <A HREF="../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor"><CODE>Job</CODE></A> that is going to execute the phase command on the given resource.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/twopc/Preparer.html#isParticipating(bitronix.tm.internal.XAResourceHolderState)">isParticipating</A></B>(<A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</CODE>
+
+<BR>
+ Determine if a resource is participating in the phase or not.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/twopc/Preparer.html#prepare(bitronix.tm.BitronixTransaction)">prepare</A></B>(<A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> transaction)</CODE>
+
+<BR>
+ Execute phase 1 prepare.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.twopc.AbstractPhaseEngine"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class bitronix.tm.twopc.<A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc">AbstractPhaseEngine</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html#collectNotInterestedResources(java.util.List, java.util.List)">collectNotInterestedResources</A>, <A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html#collectResourcesUniqueNames(java.util.List)">collectResourcesUniqueNames</A>, <A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html#executePhase(bitronix.tm.internal.XAResourceManager, boolean)">executePhase</A>, <A HREF="../../../bitronix/tm/twopc/Abstra [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="Preparer(bitronix.tm.twopc.executor.Executor)"><!-- --></A><H3>
+Preparer</H3>
+<PRE>
+public <B>Preparer</B>(<A HREF="../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A> executor)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="prepare(bitronix.tm.BitronixTransaction)"><!-- --></A><H3>
+prepare</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>prepare</B>(<A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> transaction)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/RollbackException.html?is-external=true" title="class or interface in javax.transaction">RollbackException</A>,
+ <A HREF="../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A></PRE>
+<DL>
+<DD>Execute phase 1 prepare.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>transaction</CODE> - the transaction to prepare.
+<DT><B>Returns:</B><DD>a list that will be filled with all resources that received the prepare command
+ and replied with <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#XA_OK" title="class or interface in javax.transaction.xa"><CODE>XAResource.XA_OK</CODE></A>.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/RollbackException.html?is-external=true" title="class or interface in javax.transaction">RollbackException</A></CODE> - when an error occured that can be fixed with a rollback.
+<DD><CODE><A HREF="../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A></CODE> - when an internal error occured.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createJob(bitronix.tm.internal.XAResourceHolderState)"><!-- --></A><H3>
+createJob</H3>
+<PRE>
+protected <A HREF="../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A> <B>createJob</B>(<A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</PRE>
+<DL>
+<DD><B>Description copied from class: <CODE><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html#createJob(bitronix.tm.internal.XAResourceHolderState)">AbstractPhaseEngine</A></CODE></B></DD>
+<DD>Create a <A HREF="../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor"><CODE>Job</CODE></A> that is going to execute the phase command on the given resource.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html#createJob(bitronix.tm.internal.XAResourceHolderState)">createJob</A></CODE> in class <CODE><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc">AbstractPhaseEngine</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xaResourceHolderState</CODE> - the resource that is going to receive a command.
+<DT><B>Returns:</B><DD>the <A HREF="../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor"><CODE>Job</CODE></A> that is going to execute the command.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isParticipating(bitronix.tm.internal.XAResourceHolderState)"><!-- --></A><H3>
+isParticipating</H3>
+<PRE>
+protected boolean <B>isParticipating</B>(<A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</PRE>
+<DL>
+<DD><B>Description copied from class: <CODE><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html#isParticipating(bitronix.tm.internal.XAResourceHolderState)">AbstractPhaseEngine</A></CODE></B></DD>
+<DD>Determine if a resource is participating in the phase or not. A participating resource gets
+ a job created to execute the phase's command on it.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html#isParticipating(bitronix.tm.internal.XAResourceHolderState)">isParticipating</A></CODE> in class <CODE><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc">AbstractPhaseEngine</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xaResourceHolderState</CODE> - the resource to check for its participation.
+<DT><B>Returns:</B><DD>true if the resource must participate in the phase.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Preparer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/twopc/PhaseException.html" title="class in bitronix.tm.twopc"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/twopc/Rollbacker.html" title="class in bitronix.tm.twopc"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/twopc/Preparer.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Preparer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/twopc/Rollbacker.html b/doc/api/bitronix/tm/twopc/Rollbacker.html
new file mode 100644
index 0000000..e77e8c6
--- /dev/null
+++ b/doc/api/bitronix/tm/twopc/Rollbacker.html
@@ -0,0 +1,337 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Rollbacker (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Rollbacker (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Rollbacker.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/twopc/Preparer.html" title="class in bitronix.tm.twopc"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/twopc/Rollbacker.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Rollbacker.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.twopc</FONT>
+<BR>
+Class Rollbacker</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc">bitronix.tm.twopc.AbstractPhaseEngine</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.twopc.Rollbacker</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>Rollbacker</B><DT>extends <A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc">AbstractPhaseEngine</A></DL>
+</PRE>
+
+<P>
+Phase 1 & 2 Rollback logic engine.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/twopc/Rollbacker.html#Rollbacker(bitronix.tm.twopc.executor.Executor)">Rollbacker</A></B>(<A HREF="../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A> executor)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/twopc/Rollbacker.html#createJob(bitronix.tm.internal.XAResourceHolderState)">createJob</A></B>(<A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> resourceHolder)</CODE>
+
+<BR>
+ Create a <A HREF="../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor"><CODE>Job</CODE></A> that is going to execute the phase command on the given resource.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/twopc/Rollbacker.html#isParticipating(bitronix.tm.internal.XAResourceHolderState)">isParticipating</A></B>(<A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</CODE>
+
+<BR>
+ Determine if a resource is participating in the phase or not.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/twopc/Rollbacker.html#rollback(bitronix.tm.BitronixTransaction, java.util.List)">rollback</A></B>(<A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> transaction,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> interestedResources)</CODE>
+
+<BR>
+ Rollback the current XA transaction.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.twopc.AbstractPhaseEngine"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class bitronix.tm.twopc.<A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc">AbstractPhaseEngine</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html#collectNotInterestedResources(java.util.List, java.util.List)">collectNotInterestedResources</A>, <A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html#collectResourcesUniqueNames(java.util.List)">collectResourcesUniqueNames</A>, <A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html#executePhase(bitronix.tm.internal.XAResourceManager, boolean)">executePhase</A>, <A HREF="../../../bitronix/tm/twopc/Abstra [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="Rollbacker(bitronix.tm.twopc.executor.Executor)"><!-- --></A><H3>
+Rollbacker</H3>
+<PRE>
+public <B>Rollbacker</B>(<A HREF="../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A> executor)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="rollback(bitronix.tm.BitronixTransaction, java.util.List)"><!-- --></A><H3>
+rollback</H3>
+<PRE>
+public void <B>rollback</B>(<A HREF="../../../bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A> transaction,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> interestedResources)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicMixedException.html?is-external=true" title="class or interface in javax.transaction">HeuristicMixedException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicCommitException.html?is-external=true" title="class or interface in javax.transaction">HeuristicCommitException</A>,
+ <A HREF="../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A></PRE>
+<DL>
+<DD>Rollback the current XA transaction. <A HREF="../../../bitronix/tm/internal/TransactionTimeoutException.html" title="class in bitronix.tm.internal"><CODE>TransactionTimeoutException</CODE></A> won't be thrown
+ while changing status but rather by some extra logic that will manually throw the exception after doing as much
+ cleanup as possible.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>transaction</CODE> - the transaction to rollback.<DD><CODE>interestedResources</CODE> - resources that should be rolled back.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicCommitException.html?is-external=true" title="class or interface in javax.transaction">HeuristicCommitException</A></CODE> - when all resources committed instead.
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicMixedException.html?is-external=true" title="class or interface in javax.transaction">HeuristicMixedException</A></CODE> - when some resources committed and some rolled back.
+<DD><CODE><A HREF="../../../bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A></CODE> - when an internal error occured.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="createJob(bitronix.tm.internal.XAResourceHolderState)"><!-- --></A><H3>
+createJob</H3>
+<PRE>
+protected <A HREF="../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A> <B>createJob</B>(<A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> resourceHolder)</PRE>
+<DL>
+<DD><B>Description copied from class: <CODE><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html#createJob(bitronix.tm.internal.XAResourceHolderState)">AbstractPhaseEngine</A></CODE></B></DD>
+<DD>Create a <A HREF="../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor"><CODE>Job</CODE></A> that is going to execute the phase command on the given resource.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html#createJob(bitronix.tm.internal.XAResourceHolderState)">createJob</A></CODE> in class <CODE><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc">AbstractPhaseEngine</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>resourceHolder</CODE> - the resource that is going to receive a command.
+<DT><B>Returns:</B><DD>the <A HREF="../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor"><CODE>Job</CODE></A> that is going to execute the command.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isParticipating(bitronix.tm.internal.XAResourceHolderState)"><!-- --></A><H3>
+isParticipating</H3>
+<PRE>
+protected boolean <B>isParticipating</B>(<A HREF="../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</PRE>
+<DL>
+<DD><B>Description copied from class: <CODE><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html#isParticipating(bitronix.tm.internal.XAResourceHolderState)">AbstractPhaseEngine</A></CODE></B></DD>
+<DD>Determine if a resource is participating in the phase or not. A participating resource gets
+ a job created to execute the phase's command on it.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html#isParticipating(bitronix.tm.internal.XAResourceHolderState)">isParticipating</A></CODE> in class <CODE><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc">AbstractPhaseEngine</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>xaResourceHolderState</CODE> - the resource to check for its participation.
+<DT><B>Returns:</B><DD>true if the resource must participate in the phase.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Rollbacker.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/twopc/Preparer.html" title="class in bitronix.tm.twopc"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/twopc/Rollbacker.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Rollbacker.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/twopc/class-use/AbstractPhaseEngine.html b/doc/api/bitronix/tm/twopc/class-use/AbstractPhaseEngine.html
new file mode 100644
index 0000000..a5c3ea4
--- /dev/null
+++ b/doc/api/bitronix/tm/twopc/class-use/AbstractPhaseEngine.html
@@ -0,0 +1,198 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.twopc.AbstractPhaseEngine (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.twopc.AbstractPhaseEngine (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/twopc//class-useAbstractPhaseEngine.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="AbstractPhaseEngine.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.twopc.AbstractPhaseEngine</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc">AbstractPhaseEngine</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.twopc"><B>bitronix.tm.twopc</B></A></TD>
+<TD>
+ Two-phase commit logic. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.twopc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc">AbstractPhaseEngine</A> in <A HREF="../../../../bitronix/tm/twopc/package-summary.html">bitronix.tm.twopc</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc">AbstractPhaseEngine</A> in <A HREF="../../../../bitronix/tm/twopc/package-summary.html">bitronix.tm.twopc</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/Committer.html" title="class in bitronix.tm.twopc">Committer</A></B></CODE>
+
+<BR>
+ Phase 2 Commit logic engine.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/Preparer.html" title="class in bitronix.tm.twopc">Preparer</A></B></CODE>
+
+<BR>
+ Phase 1 Prepare logic engine.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/Rollbacker.html" title="class in bitronix.tm.twopc">Rollbacker</A></B></CODE>
+
+<BR>
+ Phase 1 & 2 Rollback logic engine.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/twopc//class-useAbstractPhaseEngine.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="AbstractPhaseEngine.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/twopc/class-use/Committer.html b/doc/api/bitronix/tm/twopc/class-use/Committer.html
new file mode 100644
index 0000000..4974308
--- /dev/null
+++ b/doc/api/bitronix/tm/twopc/class-use/Committer.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.twopc.Committer (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.twopc.Committer (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/twopc/Committer.html" title="class in bitronix.tm.twopc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/twopc//class-useCommitter.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Committer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.twopc.Committer</B></H2>
+</CENTER>
+No usage of bitronix.tm.twopc.Committer
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/twopc/Committer.html" title="class in bitronix.tm.twopc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/twopc//class-useCommitter.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Committer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/twopc/class-use/PhaseException.html b/doc/api/bitronix/tm/twopc/class-use/PhaseException.html
new file mode 100644
index 0000000..a461d19
--- /dev/null
+++ b/doc/api/bitronix/tm/twopc/class-use/PhaseException.html
@@ -0,0 +1,199 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.twopc.PhaseException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.twopc.PhaseException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/twopc/PhaseException.html" title="class in bitronix.tm.twopc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/twopc//class-usePhaseException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PhaseException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.twopc.PhaseException</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../bitronix/tm/twopc/PhaseException.html" title="class in bitronix.tm.twopc">PhaseException</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.twopc"><B>bitronix.tm.twopc</B></A></TD>
+<TD>
+ Two-phase commit logic. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.twopc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/twopc/PhaseException.html" title="class in bitronix.tm.twopc">PhaseException</A> in <A HREF="../../../../bitronix/tm/twopc/package-summary.html">bitronix.tm.twopc</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/twopc/package-summary.html">bitronix.tm.twopc</A> with parameters of type <A HREF="../../../../bitronix/tm/twopc/PhaseException.html" title="class in bitronix.tm.twopc">PhaseException</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B>AbstractPhaseEngine.</B><B><A HREF="../../../../bitronix/tm/twopc/AbstractPhaseEngine.html#logFailedResources(bitronix.tm.twopc.PhaseException)">logFailedResources</A></B>(<A HREF="../../../../bitronix/tm/twopc/PhaseException.html" title="class in bitronix.tm.twopc">PhaseException</A> ex)</CODE>
+
+<BR>
+ Log exceptions that happened during a phase failure.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/twopc/package-summary.html">bitronix.tm.twopc</A> that throw <A HREF="../../../../bitronix/tm/twopc/PhaseException.html" title="class in bitronix.tm.twopc">PhaseException</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected void</CODE></FONT></TD>
+<TD><CODE><B>AbstractPhaseEngine.</B><B><A HREF="../../../../bitronix/tm/twopc/AbstractPhaseEngine.html#executePhase(bitronix.tm.internal.XAResourceManager, boolean)">executePhase</A></B>(<A HREF="../../../../bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal">XAResourceManager</A> resourceManager,
+ boolean reverse)</CODE>
+
+<BR>
+ Execute the phase.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/twopc/PhaseException.html" title="class in bitronix.tm.twopc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/twopc//class-usePhaseException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PhaseException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/twopc/class-use/Preparer.html b/doc/api/bitronix/tm/twopc/class-use/Preparer.html
new file mode 100644
index 0000000..6d374c4
--- /dev/null
+++ b/doc/api/bitronix/tm/twopc/class-use/Preparer.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.twopc.Preparer (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.twopc.Preparer (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/twopc/Preparer.html" title="class in bitronix.tm.twopc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/twopc//class-usePreparer.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Preparer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.twopc.Preparer</B></H2>
+</CENTER>
+No usage of bitronix.tm.twopc.Preparer
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/twopc/Preparer.html" title="class in bitronix.tm.twopc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/twopc//class-usePreparer.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Preparer.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/twopc/class-use/Rollbacker.html b/doc/api/bitronix/tm/twopc/class-use/Rollbacker.html
new file mode 100644
index 0000000..f125cc8
--- /dev/null
+++ b/doc/api/bitronix/tm/twopc/class-use/Rollbacker.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.twopc.Rollbacker (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.twopc.Rollbacker (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/twopc/Rollbacker.html" title="class in bitronix.tm.twopc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/twopc//class-useRollbacker.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Rollbacker.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.twopc.Rollbacker</B></H2>
+</CENTER>
+No usage of bitronix.tm.twopc.Rollbacker
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/twopc/Rollbacker.html" title="class in bitronix.tm.twopc"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/twopc//class-useRollbacker.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Rollbacker.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/twopc/executor/BackportConcurrentExecutor.html b/doc/api/bitronix/tm/twopc/executor/BackportConcurrentExecutor.html
new file mode 100644
index 0000000..7e32b51
--- /dev/null
+++ b/doc/api/bitronix/tm/twopc/executor/BackportConcurrentExecutor.html
@@ -0,0 +1,247 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+BackportConcurrentExecutor (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="BackportConcurrentExecutor (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BackportConcurrentExecutor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../../bitronix/tm/twopc/executor/ConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/twopc/executor/BackportConcurrentExecutor.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BackportConcurrentExecutor.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_bitronix.tm.twopc.executor.ConcurrentExecutor">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.twopc.executor</FONT>
+<BR>
+Class BackportConcurrentExecutor</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><A HREF="../../../../bitronix/tm/twopc/executor/ConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor">bitronix.tm.twopc.executor.ConcurrentExecutor</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.twopc.executor.BackportConcurrentExecutor</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A>, <A HREF="../../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>BackportConcurrentExecutor</B><DT>extends <A HREF="../../../../bitronix/tm/twopc/executor/ConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor">ConcurrentExecutor</A></DL>
+</PRE>
+
+<P>
+Abstraction of the <code>java.util.concurrent</code>
+ <a href="http://www.dcl.mathcs.emory.edu/util/backport-util-concurrent/">backport</a> implementation.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/BackportConcurrentExecutor.html#BackportConcurrentExecutor()">BackportConcurrentExecutor</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_bitronix.tm.twopc.executor.ConcurrentExecutor"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class bitronix.tm.twopc.executor.<A HREF="../../../../bitronix/tm/twopc/executor/ConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor">ConcurrentExecutor</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="../../../../bitronix/tm/twopc/executor/ConcurrentExecutor.html#isDone(java.lang.Object)">isDone</A>, <A HREF="../../../../bitronix/tm/twopc/executor/ConcurrentExecutor.html#isUsable()">isUsable</A>, <A HREF="../../../../bitronix/tm/twopc/executor/ConcurrentExecutor.html#shutdown()">shutdown</A>, <A HREF="../../../../bitronix/tm/twopc/executor/ConcurrentExecutor.html#submit(bitronix.tm.twopc.executor.Job)">submit</A>, <A HREF="../../../../bitronix/tm/twopc/executor/Conc [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="BackportConcurrentExecutor()"><!-- --></A><H3>
+BackportConcurrentExecutor</H3>
+<PRE>
+public <B>BackportConcurrentExecutor</B>()</PRE>
+<DL>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/BackportConcurrentExecutor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../../bitronix/tm/twopc/executor/ConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/twopc/executor/BackportConcurrentExecutor.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BackportConcurrentExecutor.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_bitronix.tm.twopc.executor.ConcurrentExecutor">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/twopc/executor/ConcurrentExecutor.html b/doc/api/bitronix/tm/twopc/executor/ConcurrentExecutor.html
new file mode 100644
index 0000000..64d192d
--- /dev/null
+++ b/doc/api/bitronix/tm/twopc/executor/ConcurrentExecutor.html
@@ -0,0 +1,398 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+ConcurrentExecutor (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="ConcurrentExecutor (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ConcurrentExecutor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/twopc/executor/BackportConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/twopc/executor/ConcurrentExecutor.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ConcurrentExecutor.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.twopc.executor</FONT>
+<BR>
+Class ConcurrentExecutor</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.twopc.executor.ConcurrentExecutor</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A>, <A HREF="../../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></DD>
+</DL>
+<DL>
+<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../bitronix/tm/twopc/executor/BackportConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor">BackportConcurrentExecutor</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>ConcurrentExecutor</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A></DL>
+</PRE>
+
+<P>
+Abstraction of the <code>java.util.concurrent</code> JDK 1.5+ implementation.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/ConcurrentExecutor.html#ConcurrentExecutor()">ConcurrentExecutor</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected </CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/ConcurrentExecutor.html#ConcurrentExecutor(java.lang.String[])">ConcurrentExecutor</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[] implementations)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/ConcurrentExecutor.html#isDone(java.lang.Object)">isDone</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> future)</CODE>
+
+<BR>
+ Check if the thread pool has terminated the execution of the job represented by a future.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/ConcurrentExecutor.html#isUsable()">isUsable</A></B>()</CODE>
+
+<BR>
+ Check if the thread pool can be used.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/ConcurrentExecutor.html#shutdown()">shutdown</A></B>()</CODE>
+
+<BR>
+ Shutdown the thead pool.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/ConcurrentExecutor.html#submit(bitronix.tm.twopc.executor.Job)">submit</A></B>(<A HREF="../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A> job)</CODE>
+
+<BR>
+ Submit a job to be executed by the thread pool.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/ConcurrentExecutor.html#waitFor(java.lang.Object, long)">waitFor</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> future,
+ long timeout)</CODE>
+
+<BR>
+ Wait for the job represented by the future to terminate.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="ConcurrentExecutor()"><!-- --></A><H3>
+ConcurrentExecutor</H3>
+<PRE>
+public <B>ConcurrentExecutor</B>()</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="ConcurrentExecutor(java.lang.String[])"><!-- --></A><H3>
+ConcurrentExecutor</H3>
+<PRE>
+protected <B>ConcurrentExecutor</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[] implementations)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="submit(bitronix.tm.twopc.executor.Job)"><!-- --></A><H3>
+submit</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>submit</B>(<A HREF="../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A> job)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#submit(bitronix.tm.twopc.executor.Job)">Executor</A></CODE></B></DD>
+<DD>Submit a job to be executed by the thread pool.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#submit(bitronix.tm.twopc.executor.Job)">submit</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>job</CODE> - the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang"><CODE>Runnable</CODE></A> to execute.
+<DT><B>Returns:</B><DD>an object used to monitor the execution of the submitted <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang"><CODE>Runnable</CODE></A>.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="waitFor(java.lang.Object, long)"><!-- --></A><H3>
+waitFor</H3>
+<PRE>
+public void <B>waitFor</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> future,
+ long timeout)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#waitFor(java.lang.Object, long)">Executor</A></CODE></B></DD>
+<DD>Wait for the job represented by the future to terminate. The call to this method will block until the job
+ finished its execution or the specified timeout elapsed.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#waitFor(java.lang.Object, long)">waitFor</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>future</CODE> - the future representing the job as returned by <A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#submit(bitronix.tm.twopc.executor.Job)"><CODE>Executor.submit(bitronix.tm.twopc.executor.Job)</CODE></A>.<DD><CODE>timeout</CODE> - if the job did not finish during the specified timeout in milliseconds, this method returns anyway.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isDone(java.lang.Object)"><!-- --></A><H3>
+isDone</H3>
+<PRE>
+public boolean <B>isDone</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> future)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#isDone(java.lang.Object)">Executor</A></CODE></B></DD>
+<DD>Check if the thread pool has terminated the execution of the job represented by a future.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#isDone(java.lang.Object)">isDone</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>future</CODE> - the future representing the job as returned by <A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#submit(bitronix.tm.twopc.executor.Job)"><CODE>Executor.submit(bitronix.tm.twopc.executor.Job)</CODE></A>.
+<DT><B>Returns:</B><DD>true if the job is done, false otherwise.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isUsable()"><!-- --></A><H3>
+isUsable</H3>
+<PRE>
+public boolean <B>isUsable</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#isUsable()">Executor</A></CODE></B></DD>
+<DD>Check if the thread pool can be used. The thread pool migh rely on an underlying implementation that may not be
+ available. All other methods will throw a <A HREF="../../../../bitronix/tm/internal/BitronixRuntimeException.html" title="class in bitronix.tm.internal"><CODE>BitronixRuntimeException</CODE></A> when called if this method returns false.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#isUsable()">isUsable</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if the <A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor"><CODE>Executor</CODE></A> can be used, false otherwise.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="shutdown()"><!-- --></A><H3>
+shutdown</H3>
+<PRE>
+public void <B>shutdown</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#shutdown()">Executor</A></CODE></B></DD>
+<DD>Shutdown the thead pool.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#shutdown()">shutdown</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A></CODE><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/utils/Service.html#shutdown()">shutdown</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/utils/Service.html" title="interface in bitro [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ConcurrentExecutor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/twopc/executor/BackportConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/twopc/executor/ConcurrentExecutor.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ConcurrentExecutor.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/twopc/executor/Executor.html b/doc/api/bitronix/tm/twopc/executor/Executor.html
new file mode 100644
index 0000000..dbfe854
--- /dev/null
+++ b/doc/api/bitronix/tm/twopc/executor/Executor.html
@@ -0,0 +1,329 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Executor (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Executor (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Executor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/twopc/executor/ConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/twopc/executor/Executor.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Executor.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.twopc.executor</FONT>
+<BR>
+Interface Executor</H2>
+<DL>
+<DT><B>All Superinterfaces:</B> <DD><A HREF="../../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../bitronix/tm/twopc/executor/BackportConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor">BackportConcurrentExecutor</A>, <A HREF="../../../../bitronix/tm/twopc/executor/ConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor">ConcurrentExecutor</A>, <A HREF="../../../../bitronix/tm/twopc/executor/SimpleAsyncExecutor.html" title="class in bitronix.tm.twopc.executor">SimpleAsyncExecutor</A>, <A H [...]
+</DL>
+<HR>
+<DL>
+<DT><PRE>public interface <B>Executor</B><DT>extends <A HREF="../../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></DL>
+</PRE>
+
+<P>
+Thread pool interface required by the two-phase commit logic.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#isDone(java.lang.Object)">isDone</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> future)</CODE>
+
+<BR>
+ Check if the thread pool has terminated the execution of the job represented by a future.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#isUsable()">isUsable</A></B>()</CODE>
+
+<BR>
+ Check if the thread pool can be used.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#shutdown()">shutdown</A></B>()</CODE>
+
+<BR>
+ Shutdown the thead pool.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#submit(bitronix.tm.twopc.executor.Job)">submit</A></B>(<A HREF="../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A> job)</CODE>
+
+<BR>
+ Submit a job to be executed by the thread pool.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#waitFor(java.lang.Object, long)">waitFor</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> future,
+ long timeout)</CODE>
+
+<BR>
+ Wait for the job represented by the future to terminate.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="submit(bitronix.tm.twopc.executor.Job)"><!-- --></A><H3>
+submit</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>submit</B>(<A HREF="../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A> job)</PRE>
+<DL>
+<DD>Submit a job to be executed by the thread pool.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>job</CODE> - the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang"><CODE>Runnable</CODE></A> to execute.
+<DT><B>Returns:</B><DD>an object used to monitor the execution of the submitted <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang"><CODE>Runnable</CODE></A>.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="waitFor(java.lang.Object, long)"><!-- --></A><H3>
+waitFor</H3>
+<PRE>
+void <B>waitFor</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> future,
+ long timeout)</PRE>
+<DL>
+<DD>Wait for the job represented by the future to terminate. The call to this method will block until the job
+ finished its execution or the specified timeout elapsed.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>future</CODE> - the future representing the job as returned by <A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#submit(bitronix.tm.twopc.executor.Job)"><CODE>submit(bitronix.tm.twopc.executor.Job)</CODE></A>.<DD><CODE>timeout</CODE> - if the job did not finish during the specified timeout in milliseconds, this method returns anyway.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isDone(java.lang.Object)"><!-- --></A><H3>
+isDone</H3>
+<PRE>
+boolean <B>isDone</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> future)</PRE>
+<DL>
+<DD>Check if the thread pool has terminated the execution of the job represented by a future.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>future</CODE> - the future representing the job as returned by <A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#submit(bitronix.tm.twopc.executor.Job)"><CODE>submit(bitronix.tm.twopc.executor.Job)</CODE></A>.
+<DT><B>Returns:</B><DD>true if the job is done, false otherwise.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isUsable()"><!-- --></A><H3>
+isUsable</H3>
+<PRE>
+boolean <B>isUsable</B>()</PRE>
+<DL>
+<DD>Check if the thread pool can be used. The thread pool migh rely on an underlying implementation that may not be
+ available. All other methods will throw a <A HREF="../../../../bitronix/tm/internal/BitronixRuntimeException.html" title="class in bitronix.tm.internal"><CODE>BitronixRuntimeException</CODE></A> when called if this method returns false.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if the <A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor"><CODE>Executor</CODE></A> can be used, false otherwise.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="shutdown()"><!-- --></A><H3>
+shutdown</H3>
+<PRE>
+void <B>shutdown</B>()</PRE>
+<DL>
+<DD>Shutdown the thead pool.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/utils/Service.html#shutdown()">shutdown</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Executor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/twopc/executor/ConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/twopc/executor/Executor.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Executor.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/twopc/executor/Job.html b/doc/api/bitronix/tm/twopc/executor/Job.html
new file mode 100644
index 0000000..bdce3eb
--- /dev/null
+++ b/doc/api/bitronix/tm/twopc/executor/Job.html
@@ -0,0 +1,453 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Job (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Job (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Job.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/twopc/executor/SimpleAsyncExecutor.html" title="class in bitronix.tm.twopc.executor"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/twopc/executor/Job.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Job.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.twopc.executor</FONT>
+<BR>
+Class Job</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.twopc.executor.Job</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public abstract class <B>Job</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A></DL>
+</PRE>
+
+<P>
+Abstract job definition executable by the 2PC thread pools.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang">RuntimeException</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/Job.html#runtimeException">runtimeException</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/Job.html#xaException">xaException</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/Job.html#Job(bitronix.tm.internal.XAResourceHolderState)">Job</A></B>(<A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> resourceHolder)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected abstract void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/Job.html#execute()">execute</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/Job.html#getFuture()">getFuture</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/Job.html#getResource()">getResource</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang">RuntimeException</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/Job.html#getRuntimeException()">getRuntimeException</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/Job.html#getXAException()">getXAException</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/Job.html#run()">run</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/Job.html#setFuture(java.lang.Object)">setFuture</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> future)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="xaException"><!-- --></A><H3>
+xaException</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A> <B>xaException</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="runtimeException"><!-- --></A><H3>
+runtimeException</H3>
+<PRE>
+protected <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang">RuntimeException</A> <B>runtimeException</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="Job(bitronix.tm.internal.XAResourceHolderState)"><!-- --></A><H3>
+Job</H3>
+<PRE>
+public <B>Job</B>(<A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> resourceHolder)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getResource()"><!-- --></A><H3>
+getResource</H3>
+<PRE>
+public <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> <B>getResource</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getXAException()"><!-- --></A><H3>
+getXAException</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A> <B>getXAException</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getRuntimeException()"><!-- --></A><H3>
+getRuntimeException</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang">RuntimeException</A> <B>getRuntimeException</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setFuture(java.lang.Object)"><!-- --></A><H3>
+setFuture</H3>
+<PRE>
+public void <B>setFuture</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> future)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getFuture()"><!-- --></A><H3>
+getFuture</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getFuture</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="run()"><!-- --></A><H3>
+run</H3>
+<PRE>
+public final void <B>run</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true#run()" title="class or interface in java.lang">run</A></CODE> in interface <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="execute()"><!-- --></A><H3>
+execute</H3>
+<PRE>
+protected abstract void <B>execute</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Job.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/twopc/executor/SimpleAsyncExecutor.html" title="class in bitronix.tm.twopc.executor"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/twopc/executor/Job.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Job.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/twopc/executor/SimpleAsyncExecutor.html b/doc/api/bitronix/tm/twopc/executor/SimpleAsyncExecutor.html
new file mode 100644
index 0000000..f850561
--- /dev/null
+++ b/doc/api/bitronix/tm/twopc/executor/SimpleAsyncExecutor.html
@@ -0,0 +1,377 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+SimpleAsyncExecutor (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="SimpleAsyncExecutor (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SimpleAsyncExecutor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/twopc/executor/SyncExecutor.html" title="class in bitronix.tm.twopc.executor"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/twopc/executor/SimpleAsyncExecutor.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="SimpleAsyncExecutor.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.twopc.executor</FONT>
+<BR>
+Class SimpleAsyncExecutor</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.twopc.executor.SimpleAsyncExecutor</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A>, <A HREF="../../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>SimpleAsyncExecutor</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A></DL>
+</PRE>
+
+<P>
+This implementation spawns a new thread per request.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/SimpleAsyncExecutor.html#SimpleAsyncExecutor()">SimpleAsyncExecutor</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/SimpleAsyncExecutor.html#isDone(java.lang.Object)">isDone</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> future)</CODE>
+
+<BR>
+ Check if the thread pool has terminated the execution of the job represented by a future.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/SimpleAsyncExecutor.html#isUsable()">isUsable</A></B>()</CODE>
+
+<BR>
+ Check if the thread pool can be used.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/SimpleAsyncExecutor.html#shutdown()">shutdown</A></B>()</CODE>
+
+<BR>
+ Shutdown the thead pool.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/SimpleAsyncExecutor.html#submit(bitronix.tm.twopc.executor.Job)">submit</A></B>(<A HREF="../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A> job)</CODE>
+
+<BR>
+ Submit a job to be executed by the thread pool.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/SimpleAsyncExecutor.html#waitFor(java.lang.Object, long)">waitFor</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> future,
+ long timeout)</CODE>
+
+<BR>
+ Wait for the job represented by the future to terminate.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="SimpleAsyncExecutor()"><!-- --></A><H3>
+SimpleAsyncExecutor</H3>
+<PRE>
+public <B>SimpleAsyncExecutor</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="submit(bitronix.tm.twopc.executor.Job)"><!-- --></A><H3>
+submit</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>submit</B>(<A HREF="../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A> job)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#submit(bitronix.tm.twopc.executor.Job)">Executor</A></CODE></B></DD>
+<DD>Submit a job to be executed by the thread pool.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#submit(bitronix.tm.twopc.executor.Job)">submit</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>job</CODE> - the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang"><CODE>Runnable</CODE></A> to execute.
+<DT><B>Returns:</B><DD>an object used to monitor the execution of the submitted <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang"><CODE>Runnable</CODE></A>.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="waitFor(java.lang.Object, long)"><!-- --></A><H3>
+waitFor</H3>
+<PRE>
+public void <B>waitFor</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> future,
+ long timeout)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#waitFor(java.lang.Object, long)">Executor</A></CODE></B></DD>
+<DD>Wait for the job represented by the future to terminate. The call to this method will block until the job
+ finished its execution or the specified timeout elapsed.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#waitFor(java.lang.Object, long)">waitFor</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>future</CODE> - the future representing the job as returned by <A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#submit(bitronix.tm.twopc.executor.Job)"><CODE>Executor.submit(bitronix.tm.twopc.executor.Job)</CODE></A>.<DD><CODE>timeout</CODE> - if the job did not finish during the specified timeout in milliseconds, this method returns anyway.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isDone(java.lang.Object)"><!-- --></A><H3>
+isDone</H3>
+<PRE>
+public boolean <B>isDone</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> future)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#isDone(java.lang.Object)">Executor</A></CODE></B></DD>
+<DD>Check if the thread pool has terminated the execution of the job represented by a future.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#isDone(java.lang.Object)">isDone</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>future</CODE> - the future representing the job as returned by <A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#submit(bitronix.tm.twopc.executor.Job)"><CODE>Executor.submit(bitronix.tm.twopc.executor.Job)</CODE></A>.
+<DT><B>Returns:</B><DD>true if the job is done, false otherwise.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isUsable()"><!-- --></A><H3>
+isUsable</H3>
+<PRE>
+public boolean <B>isUsable</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#isUsable()">Executor</A></CODE></B></DD>
+<DD>Check if the thread pool can be used. The thread pool migh rely on an underlying implementation that may not be
+ available. All other methods will throw a <A HREF="../../../../bitronix/tm/internal/BitronixRuntimeException.html" title="class in bitronix.tm.internal"><CODE>BitronixRuntimeException</CODE></A> when called if this method returns false.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#isUsable()">isUsable</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if the <A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor"><CODE>Executor</CODE></A> can be used, false otherwise.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="shutdown()"><!-- --></A><H3>
+shutdown</H3>
+<PRE>
+public void <B>shutdown</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#shutdown()">Executor</A></CODE></B></DD>
+<DD>Shutdown the thead pool.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#shutdown()">shutdown</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A></CODE><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/utils/Service.html#shutdown()">shutdown</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/utils/Service.html" title="interface in bitro [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SimpleAsyncExecutor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor"><B>PREV CLASS</B></A>
+ <A HREF="../../../../bitronix/tm/twopc/executor/SyncExecutor.html" title="class in bitronix.tm.twopc.executor"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/twopc/executor/SimpleAsyncExecutor.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="SimpleAsyncExecutor.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/twopc/executor/SyncExecutor.html b/doc/api/bitronix/tm/twopc/executor/SyncExecutor.html
new file mode 100644
index 0000000..8a22367
--- /dev/null
+++ b/doc/api/bitronix/tm/twopc/executor/SyncExecutor.html
@@ -0,0 +1,377 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+SyncExecutor (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="SyncExecutor (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SyncExecutor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/twopc/executor/SimpleAsyncExecutor.html" title="class in bitronix.tm.twopc.executor"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/twopc/executor/SyncExecutor.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="SyncExecutor.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.twopc.executor</FONT>
+<BR>
+Class SyncExecutor</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.twopc.executor.SyncExecutor</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A>, <A HREF="../../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>SyncExecutor</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A></DL>
+</PRE>
+
+<P>
+This implementation executes submitted jobs synchronously.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/SyncExecutor.html#SyncExecutor()">SyncExecutor</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/SyncExecutor.html#isDone(java.lang.Object)">isDone</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> future)</CODE>
+
+<BR>
+ Check if the thread pool has terminated the execution of the job represented by a future.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/SyncExecutor.html#isUsable()">isUsable</A></B>()</CODE>
+
+<BR>
+ Check if the thread pool can be used.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/SyncExecutor.html#shutdown()">shutdown</A></B>()</CODE>
+
+<BR>
+ Shutdown the thead pool.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/SyncExecutor.html#submit(bitronix.tm.twopc.executor.Job)">submit</A></B>(<A HREF="../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A> job)</CODE>
+
+<BR>
+ Submit a job to be executed by the thread pool.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/SyncExecutor.html#waitFor(java.lang.Object, long)">waitFor</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> future,
+ long timeout)</CODE>
+
+<BR>
+ Wait for the job represented by the future to terminate.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="SyncExecutor()"><!-- --></A><H3>
+SyncExecutor</H3>
+<PRE>
+public <B>SyncExecutor</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="submit(bitronix.tm.twopc.executor.Job)"><!-- --></A><H3>
+submit</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>submit</B>(<A HREF="../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A> job)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#submit(bitronix.tm.twopc.executor.Job)">Executor</A></CODE></B></DD>
+<DD>Submit a job to be executed by the thread pool.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#submit(bitronix.tm.twopc.executor.Job)">submit</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>job</CODE> - the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang"><CODE>Runnable</CODE></A> to execute.
+<DT><B>Returns:</B><DD>an object used to monitor the execution of the submitted <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang"><CODE>Runnable</CODE></A>.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="waitFor(java.lang.Object, long)"><!-- --></A><H3>
+waitFor</H3>
+<PRE>
+public void <B>waitFor</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> future,
+ long timeout)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#waitFor(java.lang.Object, long)">Executor</A></CODE></B></DD>
+<DD>Wait for the job represented by the future to terminate. The call to this method will block until the job
+ finished its execution or the specified timeout elapsed.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#waitFor(java.lang.Object, long)">waitFor</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>future</CODE> - the future representing the job as returned by <A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#submit(bitronix.tm.twopc.executor.Job)"><CODE>Executor.submit(bitronix.tm.twopc.executor.Job)</CODE></A>.<DD><CODE>timeout</CODE> - if the job did not finish during the specified timeout in milliseconds, this method returns anyway.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isDone(java.lang.Object)"><!-- --></A><H3>
+isDone</H3>
+<PRE>
+public boolean <B>isDone</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> future)</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#isDone(java.lang.Object)">Executor</A></CODE></B></DD>
+<DD>Check if the thread pool has terminated the execution of the job represented by a future.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#isDone(java.lang.Object)">isDone</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A></CODE></DL>
+</DD>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>future</CODE> - the future representing the job as returned by <A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#submit(bitronix.tm.twopc.executor.Job)"><CODE>Executor.submit(bitronix.tm.twopc.executor.Job)</CODE></A>.
+<DT><B>Returns:</B><DD>true if the job is done, false otherwise.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="isUsable()"><!-- --></A><H3>
+isUsable</H3>
+<PRE>
+public boolean <B>isUsable</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#isUsable()">Executor</A></CODE></B></DD>
+<DD>Check if the thread pool can be used. The thread pool migh rely on an underlying implementation that may not be
+ available. All other methods will throw a <A HREF="../../../../bitronix/tm/internal/BitronixRuntimeException.html" title="class in bitronix.tm.internal"><CODE>BitronixRuntimeException</CODE></A> when called if this method returns false.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#isUsable()">isUsable</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A></CODE></DL>
+</DD>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>true if the <A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor"><CODE>Executor</CODE></A> can be used, false otherwise.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="shutdown()"><!-- --></A><H3>
+shutdown</H3>
+<PRE>
+public void <B>shutdown</B>()</PRE>
+<DL>
+<DD><B>Description copied from interface: <CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#shutdown()">Executor</A></CODE></B></DD>
+<DD>Shutdown the thead pool.
+<P>
+<DD><DL>
+<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html#shutdown()">shutdown</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A></CODE><DT><B>Specified by:</B><DD><CODE><A HREF="../../../../bitronix/tm/utils/Service.html#shutdown()">shutdown</A></CODE> in interface <CODE><A HREF="../../../../bitronix/tm/utils/Service.html" title="interface in bitro [...]
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SyncExecutor.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/twopc/executor/SimpleAsyncExecutor.html" title="class in bitronix.tm.twopc.executor"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/twopc/executor/SyncExecutor.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="SyncExecutor.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/twopc/executor/class-use/BackportConcurrentExecutor.html b/doc/api/bitronix/tm/twopc/executor/class-use/BackportConcurrentExecutor.html
new file mode 100644
index 0000000..4d20c3d
--- /dev/null
+++ b/doc/api/bitronix/tm/twopc/executor/class-use/BackportConcurrentExecutor.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.twopc.executor.BackportConcurrentExecutor (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.twopc.executor.BackportConcurrentExecutor (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/twopc/executor/BackportConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/twopc/executor//class-useBackportConcurrentExecutor.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BackportConcurrentExecutor.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.twopc.executor.BackportConcurrentExecutor</B></H2>
+</CENTER>
+No usage of bitronix.tm.twopc.executor.BackportConcurrentExecutor
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/twopc/executor/BackportConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/twopc/executor//class-useBackportConcurrentExecutor.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="BackportConcurrentExecutor.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/twopc/executor/class-use/ConcurrentExecutor.html b/doc/api/bitronix/tm/twopc/executor/class-use/ConcurrentExecutor.html
new file mode 100644
index 0000000..d80f9b2
--- /dev/null
+++ b/doc/api/bitronix/tm/twopc/executor/class-use/ConcurrentExecutor.html
@@ -0,0 +1,183 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.twopc.executor.ConcurrentExecutor (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.twopc.executor.ConcurrentExecutor (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/twopc/executor/ConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/twopc/executor//class-useConcurrentExecutor.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ConcurrentExecutor.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.twopc.executor.ConcurrentExecutor</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../bitronix/tm/twopc/executor/ConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor">ConcurrentExecutor</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.twopc.executor"><B>bitronix.tm.twopc.executor</B></A></TD>
+<TD>
+ Two-phase commit commands executors. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.twopc.executor"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/twopc/executor/ConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor">ConcurrentExecutor</A> in <A HREF="../../../../../bitronix/tm/twopc/executor/package-summary.html">bitronix.tm.twopc.executor</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Subclasses of <A HREF="../../../../../bitronix/tm/twopc/executor/ConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor">ConcurrentExecutor</A> in <A HREF="../../../../../bitronix/tm/twopc/executor/package-summary.html">bitronix.tm.twopc.executor</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/twopc/executor/BackportConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor">BackportConcurrentExecutor</A></B></CODE>
+
+<BR>
+ Abstraction of the <code>java.util.concurrent</code>
+ <a href="http://www.dcl.mathcs.emory.edu/util/backport-util-concurrent/">backport</a> implementation.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/twopc/executor/ConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/twopc/executor//class-useConcurrentExecutor.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ConcurrentExecutor.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/twopc/executor/class-use/Executor.html b/doc/api/bitronix/tm/twopc/executor/class-use/Executor.html
new file mode 100644
index 0000000..3d64fa9
--- /dev/null
+++ b/doc/api/bitronix/tm/twopc/executor/class-use/Executor.html
@@ -0,0 +1,283 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Interface bitronix.tm.twopc.executor.Executor (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface bitronix.tm.twopc.executor.Executor (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/twopc/executor//class-useExecutor.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Executor.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>bitronix.tm.twopc.executor.Executor</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm"><B>bitronix.tm</B></A></TD>
+<TD>
+ JTA interfaces implementations and global services. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.twopc"><B>bitronix.tm.twopc</B></A></TD>
+<TD>
+ Two-phase commit logic. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.twopc.executor"><B>bitronix.tm.twopc.executor</B></A></TD>
+<TD>
+ Two-phase commit commands executors. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A> in <A HREF="../../../../../bitronix/tm/package-summary.html">bitronix.tm</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/package-summary.html">bitronix.tm</A> that return <A HREF="../../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A></CODE></FONT></TD>
+<TD><CODE><B>TransactionManagerServices.</B><B><A HREF="../../../../../bitronix/tm/TransactionManagerServices.html#getExecutor()">getExecutor</A></B>()</CODE>
+
+<BR>
+ Create the 2PC executor.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.twopc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A> in <A HREF="../../../../../bitronix/tm/twopc/package-summary.html">bitronix.tm.twopc</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../../bitronix/tm/twopc/package-summary.html">bitronix.tm.twopc</A> with parameters of type <A HREF="../../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/twopc/AbstractPhaseEngine.html#AbstractPhaseEngine(bitronix.tm.twopc.executor.Executor)">AbstractPhaseEngine</A></B>(<A HREF="../../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A> executor)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/twopc/Committer.html#Committer(bitronix.tm.twopc.executor.Executor)">Committer</A></B>(<A HREF="../../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A> executor)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/twopc/Preparer.html#Preparer(bitronix.tm.twopc.executor.Executor)">Preparer</A></B>(<A HREF="../../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A> executor)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/twopc/Rollbacker.html#Rollbacker(bitronix.tm.twopc.executor.Executor)">Rollbacker</A></B>(<A HREF="../../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A> executor)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.twopc.executor"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A> in <A HREF="../../../../../bitronix/tm/twopc/executor/package-summary.html">bitronix.tm.twopc.executor</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../../bitronix/tm/twopc/executor/package-summary.html">bitronix.tm.twopc.executor</A> that implement <A HREF="../../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/twopc/executor/BackportConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor">BackportConcurrentExecutor</A></B></CODE>
+
+<BR>
+ Abstraction of the <code>java.util.concurrent</code>
+ <a href="http://www.dcl.mathcs.emory.edu/util/backport-util-concurrent/">backport</a> implementation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/twopc/executor/ConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor">ConcurrentExecutor</A></B></CODE>
+
+<BR>
+ Abstraction of the <code>java.util.concurrent</code> JDK 1.5+ implementation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/twopc/executor/SimpleAsyncExecutor.html" title="class in bitronix.tm.twopc.executor">SimpleAsyncExecutor</A></B></CODE>
+
+<BR>
+ This implementation spawns a new thread per request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../../bitronix/tm/twopc/executor/SyncExecutor.html" title="class in bitronix.tm.twopc.executor">SyncExecutor</A></B></CODE>
+
+<BR>
+ This implementation executes submitted jobs synchronously.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/twopc/executor//class-useExecutor.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Executor.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/twopc/executor/class-use/Job.html b/doc/api/bitronix/tm/twopc/executor/class-use/Job.html
new file mode 100644
index 0000000..780e919
--- /dev/null
+++ b/doc/api/bitronix/tm/twopc/executor/class-use/Job.html
@@ -0,0 +1,260 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.twopc.executor.Job (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.twopc.executor.Job (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/twopc/executor//class-useJob.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Job.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.twopc.executor.Job</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.twopc"><B>bitronix.tm.twopc</B></A></TD>
+<TD>
+ Two-phase commit logic. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.twopc.executor"><B>bitronix.tm.twopc.executor</B></A></TD>
+<TD>
+ Two-phase commit commands executors. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.twopc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A> in <A HREF="../../../../../bitronix/tm/twopc/package-summary.html">bitronix.tm.twopc</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/twopc/package-summary.html">bitronix.tm.twopc</A> that return <A HREF="../../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A></CODE></FONT></TD>
+<TD><CODE><B>Rollbacker.</B><B><A HREF="../../../../../bitronix/tm/twopc/Rollbacker.html#createJob(bitronix.tm.internal.XAResourceHolderState)">createJob</A></B>(<A HREF="../../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> resourceHolder)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A></CODE></FONT></TD>
+<TD><CODE><B>Preparer.</B><B><A HREF="../../../../../bitronix/tm/twopc/Preparer.html#createJob(bitronix.tm.internal.XAResourceHolderState)">createJob</A></B>(<A HREF="../../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected <A HREF="../../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A></CODE></FONT></TD>
+<TD><CODE><B>Committer.</B><B><A HREF="../../../../../bitronix/tm/twopc/Committer.html#createJob(bitronix.tm.internal.XAResourceHolderState)">createJob</A></B>(<A HREF="../../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> resourceHolder)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>protected abstract <A HREF="../../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractPhaseEngine.</B><B><A HREF="../../../../../bitronix/tm/twopc/AbstractPhaseEngine.html#createJob(bitronix.tm.internal.XAResourceHolderState)">createJob</A></B>(<A HREF="../../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A> xaResourceHolderState)</CODE>
+
+<BR>
+ Create a <A HREF="../../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor"><CODE>Job</CODE></A> that is going to execute the phase command on the given resource.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.twopc.executor"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A> in <A HREF="../../../../../bitronix/tm/twopc/executor/package-summary.html">bitronix.tm.twopc.executor</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../../bitronix/tm/twopc/executor/package-summary.html">bitronix.tm.twopc.executor</A> with parameters of type <A HREF="../../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B>SyncExecutor.</B><B><A HREF="../../../../../bitronix/tm/twopc/executor/SyncExecutor.html#submit(bitronix.tm.twopc.executor.Job)">submit</A></B>(<A HREF="../../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A> job)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B>SimpleAsyncExecutor.</B><B><A HREF="../../../../../bitronix/tm/twopc/executor/SimpleAsyncExecutor.html#submit(bitronix.tm.twopc.executor.Job)">submit</A></B>(<A HREF="../../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A> job)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B>Executor.</B><B><A HREF="../../../../../bitronix/tm/twopc/executor/Executor.html#submit(bitronix.tm.twopc.executor.Job)">submit</A></B>(<A HREF="../../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A> job)</CODE>
+
+<BR>
+ Submit a job to be executed by the thread pool.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B>ConcurrentExecutor.</B><B><A HREF="../../../../../bitronix/tm/twopc/executor/ConcurrentExecutor.html#submit(bitronix.tm.twopc.executor.Job)">submit</A></B>(<A HREF="../../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A> job)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/twopc/executor//class-useJob.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Job.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/twopc/executor/class-use/SimpleAsyncExecutor.html b/doc/api/bitronix/tm/twopc/executor/class-use/SimpleAsyncExecutor.html
new file mode 100644
index 0000000..eb5004a
--- /dev/null
+++ b/doc/api/bitronix/tm/twopc/executor/class-use/SimpleAsyncExecutor.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.twopc.executor.SimpleAsyncExecutor (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.twopc.executor.SimpleAsyncExecutor (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/twopc/executor/SimpleAsyncExecutor.html" title="class in bitronix.tm.twopc.executor"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/twopc/executor//class-useSimpleAsyncExecutor.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="SimpleAsyncExecutor.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.twopc.executor.SimpleAsyncExecutor</B></H2>
+</CENTER>
+No usage of bitronix.tm.twopc.executor.SimpleAsyncExecutor
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/twopc/executor/SimpleAsyncExecutor.html" title="class in bitronix.tm.twopc.executor"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/twopc/executor//class-useSimpleAsyncExecutor.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="SimpleAsyncExecutor.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/twopc/executor/class-use/SyncExecutor.html b/doc/api/bitronix/tm/twopc/executor/class-use/SyncExecutor.html
new file mode 100644
index 0000000..c43447c
--- /dev/null
+++ b/doc/api/bitronix/tm/twopc/executor/class-use/SyncExecutor.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.twopc.executor.SyncExecutor (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.twopc.executor.SyncExecutor (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/twopc/executor/SyncExecutor.html" title="class in bitronix.tm.twopc.executor"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/twopc/executor//class-useSyncExecutor.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="SyncExecutor.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.twopc.executor.SyncExecutor</B></H2>
+</CENTER>
+No usage of bitronix.tm.twopc.executor.SyncExecutor
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../bitronix/tm/twopc/executor/SyncExecutor.html" title="class in bitronix.tm.twopc.executor"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../../index.html?bitronix/tm/twopc/executor//class-useSyncExecutor.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="SyncExecutor.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/twopc/executor/package-frame.html b/doc/api/bitronix/tm/twopc/executor/package-frame.html
new file mode 100644
index 0000000..207a071
--- /dev/null
+++ b/doc/api/bitronix/tm/twopc/executor/package-frame.html
@@ -0,0 +1,52 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.twopc.executor (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../../bitronix/tm/twopc/executor/package-summary.html" target="classFrame">bitronix.tm.twopc.executor</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Interfaces</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="Executor.html" title="interface in bitronix.tm.twopc.executor" target="classFrame"><I>Executor</I></A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="BackportConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor" target="classFrame">BackportConcurrentExecutor</A>
+<BR>
+<A HREF="ConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor" target="classFrame">ConcurrentExecutor</A>
+<BR>
+<A HREF="Job.html" title="class in bitronix.tm.twopc.executor" target="classFrame">Job</A>
+<BR>
+<A HREF="SimpleAsyncExecutor.html" title="class in bitronix.tm.twopc.executor" target="classFrame">SimpleAsyncExecutor</A>
+<BR>
+<A HREF="SyncExecutor.html" title="class in bitronix.tm.twopc.executor" target="classFrame">SyncExecutor</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/twopc/executor/package-summary.html b/doc/api/bitronix/tm/twopc/executor/package-summary.html
new file mode 100644
index 0000000..ec74de8
--- /dev/null
+++ b/doc/api/bitronix/tm/twopc/executor/package-summary.html
@@ -0,0 +1,207 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.twopc.executor (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.twopc.executor (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/twopc/package-summary.html"><B>PREV PACKAGE</B></A>
+ <A HREF="../../../../bitronix/tm/utils/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/twopc/executor/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package bitronix.tm.twopc.executor
+</H2>
+
+ Two-phase commit commands executors.
+<P>
+<B>See:</B>
+<BR>
+ <A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Interface Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A></B></TD>
+<TD>Thread pool interface required by the two-phase commit logic.</TD>
+</TR>
+</TABLE>
+
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/twopc/executor/BackportConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor">BackportConcurrentExecutor</A></B></TD>
+<TD>Abstraction of the <code>java.util.concurrent</code>
+ <a href="http://www.dcl.mathcs.emory.edu/util/backport-util-concurrent/">backport</a> implementation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/twopc/executor/ConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor">ConcurrentExecutor</A></B></TD>
+<TD>Abstraction of the <code>java.util.concurrent</code> JDK 1.5+ implementation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A></B></TD>
+<TD>Abstract job definition executable by the 2PC thread pools.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/twopc/executor/SimpleAsyncExecutor.html" title="class in bitronix.tm.twopc.executor">SimpleAsyncExecutor</A></B></TD>
+<TD>This implementation spawns a new thread per request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../../bitronix/tm/twopc/executor/SyncExecutor.html" title="class in bitronix.tm.twopc.executor">SyncExecutor</A></B></TD>
+<TD>This implementation executes submitted jobs synchronously.</TD>
+</TR>
+</TABLE>
+
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package bitronix.tm.twopc.executor Description
+</H2>
+
+<P>
+<p>
+ Two-phase commit commands executors.
+ </p>
+<P>
+
+<P>
+<DL>
+</DL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/twopc/package-summary.html"><B>PREV PACKAGE</B></A>
+ <A HREF="../../../../bitronix/tm/utils/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/twopc/executor/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/twopc/executor/package-tree.html b/doc/api/bitronix/tm/twopc/executor/package-tree.html
new file mode 100644
index 0000000..bcd8811
--- /dev/null
+++ b/doc/api/bitronix/tm/twopc/executor/package-tree.html
@@ -0,0 +1,167 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.twopc.executor Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.twopc.executor Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/twopc/package-tree.html"><B>PREV</B></A>
+ <A HREF="../../../../bitronix/tm/utils/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/twopc/executor/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package bitronix.tm.twopc.executor
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">bitronix.tm.twopc.executor.<A HREF="../../../../bitronix/tm/twopc/executor/ConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor"><B>ConcurrentExecutor</B></A> (implements bitronix.tm.twopc.executor.<A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A>)
+<UL>
+<LI TYPE="circle">bitronix.tm.twopc.executor.<A HREF="../../../../bitronix/tm/twopc/executor/BackportConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor"><B>BackportConcurrentExecutor</B></A></UL>
+<LI TYPE="circle">bitronix.tm.twopc.executor.<A HREF="../../../../bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor"><B>Job</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A>)
+<LI TYPE="circle">bitronix.tm.twopc.executor.<A HREF="../../../../bitronix/tm/twopc/executor/SimpleAsyncExecutor.html" title="class in bitronix.tm.twopc.executor"><B>SimpleAsyncExecutor</B></A> (implements bitronix.tm.twopc.executor.<A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A>)
+<LI TYPE="circle">bitronix.tm.twopc.executor.<A HREF="../../../../bitronix/tm/twopc/executor/SyncExecutor.html" title="class in bitronix.tm.twopc.executor"><B>SyncExecutor</B></A> (implements bitronix.tm.twopc.executor.<A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A>)
+</UL>
+</UL>
+<H2>
+Interface Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">bitronix.tm.utils.<A HREF="../../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils"><B>Service</B></A><UL>
+<LI TYPE="circle">bitronix.tm.twopc.executor.<A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor"><B>Executor</B></A></UL>
+</UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../bitronix/tm/twopc/package-tree.html"><B>PREV</B></A>
+ <A HREF="../../../../bitronix/tm/utils/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/twopc/executor/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/twopc/executor/package-use.html b/doc/api/bitronix/tm/twopc/executor/package-use.html
new file mode 100644
index 0000000..199c964
--- /dev/null
+++ b/doc/api/bitronix/tm/twopc/executor/package-use.html
@@ -0,0 +1,230 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Package bitronix.tm.twopc.executor (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Package bitronix.tm.twopc.executor (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/twopc/executor/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>bitronix.tm.twopc.executor</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../bitronix/tm/twopc/executor/package-summary.html">bitronix.tm.twopc.executor</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm"><B>bitronix.tm</B></A></TD>
+<TD>
+ JTA interfaces implementations and global services. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.twopc"><B>bitronix.tm.twopc</B></A></TD>
+<TD>
+ Two-phase commit logic. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.twopc.executor"><B>bitronix.tm.twopc.executor</B></A></TD>
+<TD>
+ Two-phase commit commands executors. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../../bitronix/tm/twopc/executor/package-summary.html">bitronix.tm.twopc.executor</A> used by <A HREF="../../../../bitronix/tm/package-summary.html">bitronix.tm</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/twopc/executor/class-use/Executor.html#bitronix.tm"><B>Executor</B></A></B>
+
+<BR>
+ Thread pool interface required by the two-phase commit logic.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.twopc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../../bitronix/tm/twopc/executor/package-summary.html">bitronix.tm.twopc.executor</A> used by <A HREF="../../../../bitronix/tm/twopc/package-summary.html">bitronix.tm.twopc</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/twopc/executor/class-use/Executor.html#bitronix.tm.twopc"><B>Executor</B></A></B>
+
+<BR>
+ Thread pool interface required by the two-phase commit logic.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/twopc/executor/class-use/Job.html#bitronix.tm.twopc"><B>Job</B></A></B>
+
+<BR>
+ Abstract job definition executable by the 2PC thread pools.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.twopc.executor"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../../bitronix/tm/twopc/executor/package-summary.html">bitronix.tm.twopc.executor</A> used by <A HREF="../../../../bitronix/tm/twopc/executor/package-summary.html">bitronix.tm.twopc.executor</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/twopc/executor/class-use/ConcurrentExecutor.html#bitronix.tm.twopc.executor"><B>ConcurrentExecutor</B></A></B>
+
+<BR>
+ Abstraction of the <code>java.util.concurrent</code> JDK 1.5+ implementation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/twopc/executor/class-use/Executor.html#bitronix.tm.twopc.executor"><B>Executor</B></A></B>
+
+<BR>
+ Thread pool interface required by the two-phase commit logic.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../../bitronix/tm/twopc/executor/class-use/Job.html#bitronix.tm.twopc.executor"><B>Job</B></A></B>
+
+<BR>
+ Abstract job definition executable by the 2PC thread pools.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/twopc/executor/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/twopc/package-frame.html b/doc/api/bitronix/tm/twopc/package-frame.html
new file mode 100644
index 0000000..4505f47
--- /dev/null
+++ b/doc/api/bitronix/tm/twopc/package-frame.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.twopc (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../bitronix/tm/twopc/package-summary.html" target="classFrame">bitronix.tm.twopc</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="AbstractPhaseEngine.html" title="class in bitronix.tm.twopc" target="classFrame">AbstractPhaseEngine</A>
+<BR>
+<A HREF="Committer.html" title="class in bitronix.tm.twopc" target="classFrame">Committer</A>
+<BR>
+<A HREF="Preparer.html" title="class in bitronix.tm.twopc" target="classFrame">Preparer</A>
+<BR>
+<A HREF="Rollbacker.html" title="class in bitronix.tm.twopc" target="classFrame">Rollbacker</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Exceptions</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="PhaseException.html" title="class in bitronix.tm.twopc" target="classFrame">PhaseException</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/twopc/package-summary.html b/doc/api/bitronix/tm/twopc/package-summary.html
new file mode 100644
index 0000000..2d1d954
--- /dev/null
+++ b/doc/api/bitronix/tm/twopc/package-summary.html
@@ -0,0 +1,202 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.twopc (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.twopc (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/timer/package-summary.html"><B>PREV PACKAGE</B></A>
+ <A HREF="../../../bitronix/tm/twopc/executor/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/twopc/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package bitronix.tm.twopc
+</H2>
+
+ Two-phase commit logic.
+<P>
+<B>See:</B>
+<BR>
+ <A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc">AbstractPhaseEngine</A></B></TD>
+<TD>Abstract phase execution engine.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/twopc/Committer.html" title="class in bitronix.tm.twopc">Committer</A></B></TD>
+<TD>Phase 2 Commit logic engine.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/twopc/Preparer.html" title="class in bitronix.tm.twopc">Preparer</A></B></TD>
+<TD>Phase 1 Prepare logic engine.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/twopc/Rollbacker.html" title="class in bitronix.tm.twopc">Rollbacker</A></B></TD>
+<TD>Phase 1 & 2 Rollback logic engine.</TD>
+</TR>
+</TABLE>
+
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Exception Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/twopc/PhaseException.html" title="class in bitronix.tm.twopc">PhaseException</A></B></TD>
+<TD>Thrown when a phase exection has thrown one or more exception(s).</TD>
+</TR>
+</TABLE>
+
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package bitronix.tm.twopc Description
+</H2>
+
+<P>
+<p>
+ Two-phase commit logic.
+ </p>
+<P>
+
+<P>
+<DL>
+</DL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/timer/package-summary.html"><B>PREV PACKAGE</B></A>
+ <A HREF="../../../bitronix/tm/twopc/executor/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/twopc/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/twopc/package-tree.html b/doc/api/bitronix/tm/twopc/package-tree.html
new file mode 100644
index 0000000..380f568
--- /dev/null
+++ b/doc/api/bitronix/tm/twopc/package-tree.html
@@ -0,0 +1,161 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.twopc Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.twopc Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/timer/package-tree.html"><B>PREV</B></A>
+ <A HREF="../../../bitronix/tm/twopc/executor/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/twopc/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package bitronix.tm.twopc
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">bitronix.tm.twopc.<A HREF="../../../bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc"><B>AbstractPhaseEngine</B></A><UL>
+<LI TYPE="circle">bitronix.tm.twopc.<A HREF="../../../bitronix/tm/twopc/Committer.html" title="class in bitronix.tm.twopc"><B>Committer</B></A><LI TYPE="circle">bitronix.tm.twopc.<A HREF="../../../bitronix/tm/twopc/Preparer.html" title="class in bitronix.tm.twopc"><B>Preparer</B></A><LI TYPE="circle">bitronix.tm.twopc.<A HREF="../../../bitronix/tm/twopc/Rollbacker.html" title="class in bitronix.tm.twopc"><B>Rollbacker</B></A></UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><B>Throwable</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>)
+<UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><B>Exception</B></A><UL>
+<LI TYPE="circle">bitronix.tm.twopc.<A HREF="../../../bitronix/tm/twopc/PhaseException.html" title="class in bitronix.tm.twopc"><B>PhaseException</B></A></UL>
+</UL>
+</UL>
+</UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/timer/package-tree.html"><B>PREV</B></A>
+ <A HREF="../../../bitronix/tm/twopc/executor/package-tree.html"><B>NEXT</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/twopc/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/twopc/package-use.html b/doc/api/bitronix/tm/twopc/package-use.html
new file mode 100644
index 0000000..fa865b6
--- /dev/null
+++ b/doc/api/bitronix/tm/twopc/package-use.html
@@ -0,0 +1,178 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Package bitronix.tm.twopc (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Package bitronix.tm.twopc (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/twopc/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>bitronix.tm.twopc</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../bitronix/tm/twopc/package-summary.html">bitronix.tm.twopc</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.twopc"><B>bitronix.tm.twopc</B></A></TD>
+<TD>
+ Two-phase commit logic. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.twopc"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/twopc/package-summary.html">bitronix.tm.twopc</A> used by <A HREF="../../../bitronix/tm/twopc/package-summary.html">bitronix.tm.twopc</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/twopc/class-use/AbstractPhaseEngine.html#bitronix.tm.twopc"><B>AbstractPhaseEngine</B></A></B>
+
+<BR>
+ Abstract phase execution engine.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/twopc/class-use/PhaseException.html#bitronix.tm.twopc"><B>PhaseException</B></A></B>
+
+<BR>
+ Thrown when a phase exection has thrown one or more exception(s).</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/twopc/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/utils/ClassLoaderUtils.html b/doc/api/bitronix/tm/utils/ClassLoaderUtils.html
new file mode 100644
index 0000000..3e08f50
--- /dev/null
+++ b/doc/api/bitronix/tm/utils/ClassLoaderUtils.html
@@ -0,0 +1,308 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+ClassLoaderUtils (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="ClassLoaderUtils (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ClassLoaderUtils.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../bitronix/tm/utils/CollectionUtils.html" title="class in bitronix.tm.utils"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/ClassLoaderUtils.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ClassLoaderUtils.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.utils</FONT>
+<BR>
+Class ClassLoaderUtils</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.utils.ClassLoaderUtils</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>ClassLoaderUtils</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+Static utility methods for loading classes and resources.
+<P>
+
+<P>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/ClassLoaderUtils.html#ClassLoaderUtils()">ClassLoaderUtils</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/ClassLoaderUtils.html#getClassLoader()">getClassLoader</A></B>()</CODE>
+
+<BR>
+ Get the class loader which can be used to generate proxies without leaking memory.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/ClassLoaderUtils.html#getResourceAsStream(java.lang.String)">getResourceAsStream</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> resourceName)</CODE>
+
+<BR>
+ Load a resource from the classpath.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/ClassLoaderUtils.html#loadClass(java.lang.String)">loadClass</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> className)</CODE>
+
+<BR>
+ Load a class by name.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="ClassLoaderUtils()"><!-- --></A><H3>
+ClassLoaderUtils</H3>
+<PRE>
+public <B>ClassLoaderUtils</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getClassLoader()"><!-- --></A><H3>
+getClassLoader</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</A> <B>getClassLoader</B>()</PRE>
+<DL>
+<DD>Get the class loader which can be used to generate proxies without leaking memory.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the class loader which can be used to generate proxies without leaking memory.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="loadClass(java.lang.String)"><!-- --></A><H3>
+loadClass</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</A> <B>loadClass</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> className)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</A></PRE>
+<DL>
+<DD>Load a class by name. Tries the current thread's context loader then falls back to <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Class.html?is-external=true#forName(java.lang.String)" title="class or interface in java.lang"><CODE>Class.forName(String)</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>className</CODE> - name of the class to load.
+<DT><B>Returns:</B><DD>the loaded class.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</A></CODE> - if the class cannot be found in the classpath.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getResourceAsStream(java.lang.String)"><!-- --></A><H3>
+getResourceAsStream</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</A> <B>getResourceAsStream</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> resourceName)</PRE>
+<DL>
+<DD>Load a resource from the classpath. Tries the current thread's context loader then falls back to
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/ClassLoader.html?is-external=true#getResourceAsStream(java.lang.String)" title="class or interface in java.lang"><CODE>ClassLoader.getResourceAsStream(String)</CODE></A> using this class' classloader.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>resourceName</CODE> - the resource name to load.
+<DT><B>Returns:</B><DD>a <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io"><CODE>InputStream</CODE></A> if the resource could be found, null otherwise.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ClassLoaderUtils.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV CLASS
+ <A HREF="../../../bitronix/tm/utils/CollectionUtils.html" title="class in bitronix.tm.utils"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/ClassLoaderUtils.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ClassLoaderUtils.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/utils/CollectionUtils.html b/doc/api/bitronix/tm/utils/CollectionUtils.html
new file mode 100644
index 0000000..50af2aa
--- /dev/null
+++ b/doc/api/bitronix/tm/utils/CollectionUtils.html
@@ -0,0 +1,268 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+CollectionUtils (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="CollectionUtils (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CollectionUtils.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/utils/ClassLoaderUtils.html" title="class in bitronix.tm.utils"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/utils/CryptoEngine.html" title="class in bitronix.tm.utils"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/CollectionUtils.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="CollectionUtils.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.utils</FONT>
+<BR>
+Class CollectionUtils</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.utils.CollectionUtils</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>CollectionUtils</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+<p><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util"><CODE>Collection</CODE></A> helper functions.</p>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/CollectionUtils.html#CollectionUtils()">CollectionUtils</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/CollectionUtils.html#containsByIdentity(java.util.Collection, java.lang.Object)">containsByIdentity</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</A> collection,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> toBeFound)</CODE>
+
+<BR>
+ Check if a collection contains a specific object by searching for it by identity
+ instead of by using equals/hashcode.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="CollectionUtils()"><!-- --></A><H3>
+CollectionUtils</H3>
+<PRE>
+public <B>CollectionUtils</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="containsByIdentity(java.util.Collection, java.lang.Object)"><!-- --></A><H3>
+containsByIdentity</H3>
+<PRE>
+public static boolean <B>containsByIdentity</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</A> collection,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> toBeFound)</PRE>
+<DL>
+<DD>Check if a collection contains a specific object by searching for it by identity
+ instead of by using equals/hashcode.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>collection</CODE> - the collection to search in.<DD><CODE>toBeFound</CODE> - the object to search for.
+<DT><B>Returns:</B><DD>true if the collection contains the object, false otherwise.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CollectionUtils.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/utils/ClassLoaderUtils.html" title="class in bitronix.tm.utils"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/utils/CryptoEngine.html" title="class in bitronix.tm.utils"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/CollectionUtils.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="CollectionUtils.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/utils/CryptoEngine.html b/doc/api/bitronix/tm/utils/CryptoEngine.html
new file mode 100644
index 0000000..729a786
--- /dev/null
+++ b/doc/api/bitronix/tm/utils/CryptoEngine.html
@@ -0,0 +1,341 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+CryptoEngine (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="CryptoEngine (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CryptoEngine.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/utils/CollectionUtils.html" title="class in bitronix.tm.utils"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/utils/Decoder.html" title="class in bitronix.tm.utils"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/CryptoEngine.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="CryptoEngine.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.utils</FONT>
+<BR>
+Class CryptoEngine</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.utils.CryptoEngine</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>CryptoEngine</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+<p>Simple crypto helper that uses symetric keys to crypt and decrypt resources passwords.</p>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/CryptoEngine.html#CryptoEngine()">CryptoEngine</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/CryptoEngine.html#crypt(java.lang.String, java.lang.String)">crypt</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> cipher,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> data)</CODE>
+
+<BR>
+ Crypt the given data using the given cipher.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/CryptoEngine.html#decrypt(java.lang.String, java.lang.String)">decrypt</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> cipher,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> data)</CODE>
+
+<BR>
+ Decrypt using the given cipher the given base64-encoded, crypted data.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/CryptoEngine.html#main(java.lang.String[])">main</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[] args)</CODE>
+
+<BR>
+ Main method of this class to be used as a command-line tool to get a crypted version of a resource password.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="CryptoEngine()"><!-- --></A><H3>
+CryptoEngine</H3>
+<PRE>
+public <B>CryptoEngine</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="crypt(java.lang.String, java.lang.String)"><!-- --></A><H3>
+crypt</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>crypt</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> cipher,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> data)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/security/InvalidKeyException.html?is-external=true" title="class or interface in java.security">InvalidKeyException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/security/NoSuchAlgorithmException.html?is-external=true" title="class or interface in java.security">NoSuchAlgorithmException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/crypto/NoSuchPaddingException.html?is-external=true" title="class or interface in javax.crypto">NoSuchPaddingException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/security/spec/InvalidKeySpecException.html?is-external=true" title="class or interface in java.security.spec">InvalidKeySpecException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Crypt the given data using the given cipher.
+ The crypted result is base64-encoded before it is returned.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cipher</CODE> - the cypther to use.<DD><CODE>data</CODE> - the data to crypt.
+<DT><B>Returns:</B><DD>crypted, base64-encoded data.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/security/InvalidKeyException.html?is-external=true" title="class or interface in java.security">InvalidKeyException</A></CODE> - if the given key material is shorter than 8 bytes.
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/security/NoSuchAlgorithmException.html?is-external=true" title="class or interface in java.security">NoSuchAlgorithmException</A></CODE> - if a secret-key factory for the specified algorithm is not available in the
+ default provider package or any of the other provider packages that were searched.
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/crypto/NoSuchPaddingException.html?is-external=true" title="class or interface in javax.crypto">NoSuchPaddingException</A></CODE> - if transformation contains a padding scheme that is not available.
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/security/spec/InvalidKeySpecException.html?is-external=true" title="class or interface in java.security.spec">InvalidKeySpecException</A></CODE> - if the given key specification is inappropriate for this secret-key factory to
+ produce a secret key.
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="decrypt(java.lang.String, java.lang.String)"><!-- --></A><H3>
+decrypt</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>decrypt</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> cipher,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> data)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/security/InvalidKeyException.html?is-external=true" title="class or interface in java.security">InvalidKeyException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/security/NoSuchAlgorithmException.html?is-external=true" title="class or interface in java.security">NoSuchAlgorithmException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/crypto/NoSuchPaddingException.html?is-external=true" title="class or interface in javax.crypto">NoSuchPaddingException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/security/spec/InvalidKeySpecException.html?is-external=true" title="class or interface in java.security.spec">InvalidKeySpecException</A>,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></PRE>
+<DL>
+<DD>Decrypt using the given cipher the given base64-encoded, crypted data.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>cipher</CODE> - the cypther to use.<DD><CODE>data</CODE> - the base64-encoded data to decrypt.
+<DT><B>Returns:</B><DD>decrypted data.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/security/InvalidKeyException.html?is-external=true" title="class or interface in java.security">InvalidKeyException</A></CODE> - if the given key material is shorter than 8 bytes.
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/security/NoSuchAlgorithmException.html?is-external=true" title="class or interface in java.security">NoSuchAlgorithmException</A></CODE> - if a secret-key factory for the specified algorithm is not available in the
+ default provider package or any of the other provider packages that were searched.
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/crypto/NoSuchPaddingException.html?is-external=true" title="class or interface in javax.crypto">NoSuchPaddingException</A></CODE> - if transformation contains a padding scheme that is not available.
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/security/spec/InvalidKeySpecException.html?is-external=true" title="class or interface in java.security.spec">InvalidKeySpecException</A></CODE> - if the given key specification is inappropriate for this secret-key factory to
+ produce a secret key.
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A></CODE> - if an I/O error occurs.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="main(java.lang.String[])"><!-- --></A><H3>
+main</H3>
+<PRE>
+public static void <B>main</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>[] args)
+ throws <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></PRE>
+<DL>
+<DD>Main method of this class to be used as a command-line tool to get a crypted version of a resource password.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>args</CODE> - the command-line arguments.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A></CODE> - when an error occurs crypting the given resource password.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/CryptoEngine.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/utils/CollectionUtils.html" title="class in bitronix.tm.utils"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/utils/Decoder.html" title="class in bitronix.tm.utils"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/CryptoEngine.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="CryptoEngine.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/utils/Decoder.html b/doc/api/bitronix/tm/utils/Decoder.html
new file mode 100644
index 0000000..f5b70ff
--- /dev/null
+++ b/doc/api/bitronix/tm/utils/Decoder.html
@@ -0,0 +1,379 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Decoder (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Decoder (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Decoder.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/utils/CryptoEngine.html" title="class in bitronix.tm.utils"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/utils/Encoder.html" title="class in bitronix.tm.utils"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/Decoder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Decoder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.utils</FONT>
+<BR>
+Class Decoder</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.utils.Decoder</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>Decoder</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+Constant to string decoder.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Decoder.html#Decoder()">Decoder</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Decoder.html#collectResourcesNames(java.util.Collection)">collectResourcesNames</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</A> resources)</CODE>
+
+<BR>
+ Create a String representation of a list of <A HREF="../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Decoder.html#decodeHeaderState(byte)">decodeHeaderState</A></B>(byte state)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Decoder.html#decodePrepareVote(int)">decodePrepareVote</A></B>(int vote)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Decoder.html#decodeStatus(int)">decodeStatus</A></B>(int status)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Decoder.html#decodeXAExceptionErrorCode(javax.transaction.xa.XAException)">decodeXAExceptionErrorCode</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A> ex)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Decoder.html#decodeXAResourceFlag(int)">decodeXAResourceFlag</A></B>(int flag)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Decoder.html#decodeXAStatefulHolderState(int)">decodeXAStatefulHolderState</A></B>(int state)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="Decoder()"><!-- --></A><H3>
+Decoder</H3>
+<PRE>
+public <B>Decoder</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="decodeXAExceptionErrorCode(javax.transaction.xa.XAException)"><!-- --></A><H3>
+decodeXAExceptionErrorCode</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>decodeXAExceptionErrorCode</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A> ex)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="decodeStatus(int)"><!-- --></A><H3>
+decodeStatus</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>decodeStatus</B>(int status)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="decodeXAResourceFlag(int)"><!-- --></A><H3>
+decodeXAResourceFlag</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>decodeXAResourceFlag</B>(int flag)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="decodePrepareVote(int)"><!-- --></A><H3>
+decodePrepareVote</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>decodePrepareVote</B>(int vote)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="decodeHeaderState(byte)"><!-- --></A><H3>
+decodeHeaderState</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>decodeHeaderState</B>(byte state)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="decodeXAStatefulHolderState(int)"><!-- --></A><H3>
+decodeXAStatefulHolderState</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>decodeXAStatefulHolderState</B>(int state)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="collectResourcesNames(java.util.Collection)"><!-- --></A><H3>
+collectResourcesNames</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>collectResourcesNames</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</A> resources)</PRE>
+<DL>
+<DD>Create a String representation of a list of <A HREF="../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s. This
+ String will contain each resource's unique name.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>resources</CODE> - a list of <A HREF="../../../bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s.
+<DT><B>Returns:</B><DD>a String representation of the list.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Decoder.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/utils/CryptoEngine.html" title="class in bitronix.tm.utils"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/utils/Encoder.html" title="class in bitronix.tm.utils"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/Decoder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Decoder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/utils/Encoder.html b/doc/api/bitronix/tm/utils/Encoder.html
new file mode 100644
index 0000000..e4085af
--- /dev/null
+++ b/doc/api/bitronix/tm/utils/Encoder.html
@@ -0,0 +1,341 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Encoder (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Encoder (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Encoder.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/utils/Decoder.html" title="class in bitronix.tm.utils"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/utils/InitializationException.html" title="class in bitronix.tm.utils"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/Encoder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Encoder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.utils</FONT>
+<BR>
+Class Encoder</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.utils.Encoder</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>Encoder</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+Number to byte array and byte array to number encoder.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Encoder.html#Encoder()">Encoder</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Encoder.html#bytesToInt(byte[], int)">bytesToInt</A></B>(byte[] bytes,
+ int pos)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Encoder.html#bytesToLong(byte[], int)">bytesToLong</A></B>(byte[] bytes,
+ int pos)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static byte[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Encoder.html#intToBytes(int)">intToBytes</A></B>(int anInt)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static byte[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Encoder.html#longToBytes(long)">longToBytes</A></B>(long aLong)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static byte[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Encoder.html#shortToBytes(short)">shortToBytes</A></B>(short aShort)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="Encoder()"><!-- --></A><H3>
+Encoder</H3>
+<PRE>
+public <B>Encoder</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="longToBytes(long)"><!-- --></A><H3>
+longToBytes</H3>
+<PRE>
+public static byte[] <B>longToBytes</B>(long aLong)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="intToBytes(int)"><!-- --></A><H3>
+intToBytes</H3>
+<PRE>
+public static byte[] <B>intToBytes</B>(int anInt)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="shortToBytes(short)"><!-- --></A><H3>
+shortToBytes</H3>
+<PRE>
+public static byte[] <B>shortToBytes</B>(short aShort)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="bytesToLong(byte[], int)"><!-- --></A><H3>
+bytesToLong</H3>
+<PRE>
+public static long <B>bytesToLong</B>(byte[] bytes,
+ int pos)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="bytesToInt(byte[], int)"><!-- --></A><H3>
+bytesToInt</H3>
+<PRE>
+public static int <B>bytesToInt</B>(byte[] bytes,
+ int pos)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Encoder.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/utils/Decoder.html" title="class in bitronix.tm.utils"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/utils/InitializationException.html" title="class in bitronix.tm.utils"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/Encoder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Encoder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/utils/InitializationException.html b/doc/api/bitronix/tm/utils/InitializationException.html
new file mode 100644
index 0000000..1487c2d
--- /dev/null
+++ b/doc/api/bitronix/tm/utils/InitializationException.html
@@ -0,0 +1,264 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+InitializationException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="InitializationException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/InitializationException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/utils/Encoder.html" title="class in bitronix.tm.utils"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/utils/ManagementRegistrar.html" title="class in bitronix.tm.utils"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/InitializationException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="InitializationException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.utils</FONT>
+<BR>
+Class InitializationException</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">java.lang.Throwable</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">java.lang.Exception</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang">java.lang.RuntimeException</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.utils.InitializationException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>InitializationException</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang">RuntimeException</A></DL>
+</PRE>
+
+<P>
+Thrown at transaction manager startup when an error occurs.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#bitronix.tm.utils.InitializationException">Serialized Form</A></DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/InitializationException.html#InitializationException(java.lang.String)">InitializationException</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/InitializationException.html#InitializationException(java.lang.String, java.lang.Throwable)">InitializationException</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> cause)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#fillInStackTrace()" title="class or interface in java.lang">fillInStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getCause()" title="class or interface in java.lang">getCause</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getLocalizedMessage()" title="class or interface in java.lang [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="InitializationException(java.lang.String)"><!-- --></A><H3>
+InitializationException</H3>
+<PRE>
+public <B>InitializationException</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="InitializationException(java.lang.String, java.lang.Throwable)"><!-- --></A><H3>
+InitializationException</H3>
+<PRE>
+public <B>InitializationException</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> cause)</PRE>
+<DL>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/InitializationException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/utils/Encoder.html" title="class in bitronix.tm.utils"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/utils/ManagementRegistrar.html" title="class in bitronix.tm.utils"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/InitializationException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="InitializationException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/utils/ManagementRegistrar.html b/doc/api/bitronix/tm/utils/ManagementRegistrar.html
new file mode 100644
index 0000000..76aec80
--- /dev/null
+++ b/doc/api/bitronix/tm/utils/ManagementRegistrar.html
@@ -0,0 +1,308 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+ManagementRegistrar (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="ManagementRegistrar (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ManagementRegistrar.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/utils/InitializationException.html" title="class in bitronix.tm.utils"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/utils/PropertyException.html" title="class in bitronix.tm.utils"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/ManagementRegistrar.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ManagementRegistrar.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.utils</FONT>
+<BR>
+Class ManagementRegistrar</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.utils.ManagementRegistrar</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>ManagementRegistrar</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+Simple JMX facade. In case there is no JMX implementation available, calling methods of this class have no effect.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/ManagementRegistrar.html#ManagementRegistrar()">ManagementRegistrar</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/ManagementRegistrar.html#makeValidName(java.lang.String)">makeValidName</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+ Replace characters considered illegal in a management object's name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/ManagementRegistrar.html#register(java.lang.String, java.lang.Object)">register</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> name,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> obj)</CODE>
+
+<BR>
+ Register the specified management object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/ManagementRegistrar.html#unregister(java.lang.String)">unregister</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> name)</CODE>
+
+<BR>
+ Unregister the management object with the specified name.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="ManagementRegistrar()"><!-- --></A><H3>
+ManagementRegistrar</H3>
+<PRE>
+public <B>ManagementRegistrar</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="makeValidName(java.lang.String)"><!-- --></A><H3>
+makeValidName</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>makeValidName</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD>Replace characters considered illegal in a management object's name.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name to work on.
+<DT><B>Returns:</B><DD>a fully valid name where all invalid characters have been replaced with '_'.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="register(java.lang.String, java.lang.Object)"><!-- --></A><H3>
+register</H3>
+<PRE>
+public static void <B>register</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> name,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> obj)</PRE>
+<DL>
+<DD>Register the specified management object.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the object.<DD><CODE>obj</CODE> - the management object.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="unregister(java.lang.String)"><!-- --></A><H3>
+unregister</H3>
+<PRE>
+public static void <B>unregister</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> name)</PRE>
+<DL>
+<DD>Unregister the management object with the specified name.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the object.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ManagementRegistrar.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/utils/InitializationException.html" title="class in bitronix.tm.utils"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/utils/PropertyException.html" title="class in bitronix.tm.utils"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/ManagementRegistrar.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ManagementRegistrar.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/utils/PropertyException.html b/doc/api/bitronix/tm/utils/PropertyException.html
new file mode 100644
index 0000000..c478b26
--- /dev/null
+++ b/doc/api/bitronix/tm/utils/PropertyException.html
@@ -0,0 +1,264 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+PropertyException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="PropertyException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PropertyException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/utils/ManagementRegistrar.html" title="class in bitronix.tm.utils"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/utils/PropertyUtils.html" title="class in bitronix.tm.utils"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/PropertyException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PropertyException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.utils</FONT>
+<BR>
+Class PropertyException</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">java.lang.Throwable</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">java.lang.Exception</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang">java.lang.RuntimeException</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.utils.PropertyException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>PropertyException</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang">RuntimeException</A></DL>
+</PRE>
+
+<P>
+Thrown by <A HREF="../../../bitronix/tm/utils/PropertyUtils.html" title="class in bitronix.tm.utils"><CODE>PropertyUtils</CODE></A> when some reflection error occurs.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#bitronix.tm.utils.PropertyException">Serialized Form</A></DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/PropertyException.html#PropertyException(java.lang.String)">PropertyException</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/PropertyException.html#PropertyException(java.lang.String, java.lang.Throwable)">PropertyException</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> cause)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#fillInStackTrace()" title="class or interface in java.lang">fillInStackTrace</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getCause()" title="class or interface in java.lang">getCause</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true#getLocalizedMessage()" title="class or interface in java.lang [...]
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="PropertyException(java.lang.String, java.lang.Throwable)"><!-- --></A><H3>
+PropertyException</H3>
+<PRE>
+public <B>PropertyException</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</A> cause)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="PropertyException(java.lang.String)"><!-- --></A><H3>
+PropertyException</H3>
+<PRE>
+public <B>PropertyException</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> message)</PRE>
+<DL>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PropertyException.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/utils/ManagementRegistrar.html" title="class in bitronix.tm.utils"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/utils/PropertyUtils.html" title="class in bitronix.tm.utils"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/PropertyException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PropertyException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/utils/PropertyUtils.html b/doc/api/bitronix/tm/utils/PropertyUtils.html
new file mode 100644
index 0000000..7def55e
--- /dev/null
+++ b/doc/api/bitronix/tm/utils/PropertyUtils.html
@@ -0,0 +1,373 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+PropertyUtils (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="PropertyUtils (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PropertyUtils.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/utils/PropertyException.html" title="class in bitronix.tm.utils"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/PropertyUtils.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PropertyUtils.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.utils</FONT>
+<BR>
+Class PropertyUtils</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.utils.PropertyUtils</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>PropertyUtils</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+Smart reflection helper.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/PropertyUtils.html#PropertyUtils()">PropertyUtils</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/PropertyUtils.html#getProperties(java.lang.Object)">getProperties</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> target)</CODE>
+
+<BR>
+ Build a map of direct javabeans properties of the target object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/PropertyUtils.html#getProperty(java.lang.Object, java.lang.String)">getProperty</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> target,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> propertyName)</CODE>
+
+<BR>
+ Get a direct or indirect property (dotted property: prop1.prop2.prop3) on the target object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/PropertyUtils.html#propertiesToString(java.lang.Object)">propertiesToString</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> obj)</CODE>
+
+<BR>
+ Return a comma-separated String of r/w properties of the specified object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/PropertyUtils.html#setProperties(java.lang.Object, java.util.Map)">setProperties</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> target,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A> properties)</CODE>
+
+<BR>
+ Set a <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util"><CODE>Map</CODE></A> of direct or indirect properties on the target object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/PropertyUtils.html#setProperty(java.lang.Object, java.lang.String, java.lang.Object)">setProperty</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> target,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> propertyName,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> propertyValue)</CODE>
+
+<BR>
+ Set a direct or indirect property (dotted property: prop1.prop2.prop3) on the target object.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="PropertyUtils()"><!-- --></A><H3>
+PropertyUtils</H3>
+<PRE>
+public <B>PropertyUtils</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="setProperty(java.lang.Object, java.lang.String, java.lang.Object)"><!-- --></A><H3>
+setProperty</H3>
+<PRE>
+public static void <B>setProperty</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> target,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> propertyName,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> propertyValue)
+ throws <A HREF="../../../bitronix/tm/utils/PropertyException.html" title="class in bitronix.tm.utils">PropertyException</A></PRE>
+<DL>
+<DD>Set a direct or indirect property (dotted property: prop1.prop2.prop3) on the target object. This method tries
+ to be smart in the way that intermediate properties currently set to null are set if it is possible to create
+ and set an object. Conversions from propertyValue to the proper destination type are performed when possible.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>target</CODE> - the target object on which to set the property.<DD><CODE>propertyName</CODE> - the name of the property to set.<DD><CODE>propertyValue</CODE> - the value of the property to set.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../bitronix/tm/utils/PropertyException.html" title="class in bitronix.tm.utils">PropertyException</A></CODE> - if an error happened while trying to set the property.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getProperties(java.lang.Object)"><!-- --></A><H3>
+getProperties</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A> <B>getProperties</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> target)
+ throws <A HREF="../../../bitronix/tm/utils/PropertyException.html" title="class in bitronix.tm.utils">PropertyException</A></PRE>
+<DL>
+<DD>Build a map of direct javabeans properties of the target object. Only read/write properties (ie: those who have
+ both a getter and a setter) are returned.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>target</CODE> - the target object from which to get properties names.
+<DT><B>Returns:</B><DD>a Map of String with properties names as key and their values
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../bitronix/tm/utils/PropertyException.html" title="class in bitronix.tm.utils">PropertyException</A></CODE> - if an error happened while trying to get a property.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getProperty(java.lang.Object, java.lang.String)"><!-- --></A><H3>
+getProperty</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>getProperty</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> target,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> propertyName)
+ throws <A HREF="../../../bitronix/tm/utils/PropertyException.html" title="class in bitronix.tm.utils">PropertyException</A></PRE>
+<DL>
+<DD>Get a direct or indirect property (dotted property: prop1.prop2.prop3) on the target object.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>target</CODE> - the target object from which to get the property.<DD><CODE>propertyName</CODE> - the name of the property to get.
+<DT><B>Returns:</B><DD>the value of the specified property.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../bitronix/tm/utils/PropertyException.html" title="class in bitronix.tm.utils">PropertyException</A></CODE> - if an error happened while trying to get the property.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setProperties(java.lang.Object, java.util.Map)"><!-- --></A><H3>
+setProperties</H3>
+<PRE>
+public static void <B>setProperties</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> target,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A> properties)
+ throws <A HREF="../../../bitronix/tm/utils/PropertyException.html" title="class in bitronix.tm.utils">PropertyException</A></PRE>
+<DL>
+<DD>Set a <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util"><CODE>Map</CODE></A> of direct or indirect properties on the target object.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>target</CODE> - the target object on which to set the properties.<DD><CODE>properties</CODE> - a <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util"><CODE>Map</CODE></A> of String/Object pairs.
+<DT><B>Throws:</B>
+<DD><CODE><A HREF="../../../bitronix/tm/utils/PropertyException.html" title="class in bitronix.tm.utils">PropertyException</A></CODE> - if an error happened while trying to set a property.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="propertiesToString(java.lang.Object)"><!-- --></A><H3>
+propertiesToString</H3>
+<PRE>
+public static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>propertiesToString</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> obj)</PRE>
+<DL>
+<DD>Return a comma-separated String of r/w properties of the specified object.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>obj</CODE> - the object to introspect.
+<DT><B>Returns:</B><DD>a a comma-separated String of r/w properties.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/PropertyUtils.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/utils/PropertyException.html" title="class in bitronix.tm.utils"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/PropertyUtils.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PropertyUtils.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/utils/Scheduler.html b/doc/api/bitronix/tm/utils/Scheduler.html
new file mode 100644
index 0000000..28545d0
--- /dev/null
+++ b/doc/api/bitronix/tm/utils/Scheduler.html
@@ -0,0 +1,565 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Scheduler (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Scheduler (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Scheduler.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/utils/PropertyUtils.html" title="class in bitronix.tm.utils"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/Scheduler.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Scheduler.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.utils</FONT>
+<BR>
+Class Scheduler</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.utils.Scheduler</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>Scheduler</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+Positional object container. Objects can be added to a scheduler at a certain position (or priority) and can be
+ retrieved later on in their position + added order. All the objects of a scheduler can be iterated in order or
+ objects of a cetain position can be retrieved for iteration.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Scheduler.html#ALWAYS_FIRST_POSITION">ALWAYS_FIRST_POSITION</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Scheduler.html#ALWAYS_FIRST_POSITION_KEY">ALWAYS_FIRST_POSITION_KEY</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Scheduler.html#ALWAYS_LAST_POSITION">ALWAYS_LAST_POSITION</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Scheduler.html#ALWAYS_LAST_POSITION_KEY">ALWAYS_LAST_POSITION_KEY</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Scheduler.html#DEFAULT_POSITION">DEFAULT_POSITION</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Scheduler.html#DEFAULT_POSITION_KEY">DEFAULT_POSITION_KEY</A></B></CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Scheduler.html#Scheduler()">Scheduler</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Scheduler.html#add(java.lang.Object, int)">add</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> obj,
+ int position)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Scheduler.html#getByNaturalOrderForPosition(java.lang.Object)">getByNaturalOrderForPosition</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> positionKey)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Scheduler.html#getByReverseOrderForPosition(java.lang.Object)">getByReverseOrderForPosition</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> positionKey)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Scheduler.html#getNaturalOrderPositions()">getNaturalOrderPositions</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Scheduler.html#getReverseOrderPositions()">getReverseOrderPositions</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Scheduler.html#iterator()">iterator</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Scheduler.html#remove(java.lang.Object)">remove</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> obj)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Scheduler.html#reverseIterator()">reverseIterator</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Scheduler.html#size()">size</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Scheduler.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="DEFAULT_POSITION"><!-- --></A><H3>
+DEFAULT_POSITION</H3>
+<PRE>
+public static final int <B>DEFAULT_POSITION</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#bitronix.tm.utils.Scheduler.DEFAULT_POSITION">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="ALWAYS_FIRST_POSITION"><!-- --></A><H3>
+ALWAYS_FIRST_POSITION</H3>
+<PRE>
+public static final int <B>ALWAYS_FIRST_POSITION</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#bitronix.tm.utils.Scheduler.ALWAYS_FIRST_POSITION">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="ALWAYS_LAST_POSITION"><!-- --></A><H3>
+ALWAYS_LAST_POSITION</H3>
+<PRE>
+public static final int <B>ALWAYS_LAST_POSITION</B></PRE>
+<DL>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#bitronix.tm.utils.Scheduler.ALWAYS_LAST_POSITION">Constant Field Values</A></DL>
+</DL>
+<HR>
+
+<A NAME="DEFAULT_POSITION_KEY"><!-- --></A><H3>
+DEFAULT_POSITION_KEY</H3>
+<PRE>
+public static final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>DEFAULT_POSITION_KEY</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="ALWAYS_FIRST_POSITION_KEY"><!-- --></A><H3>
+ALWAYS_FIRST_POSITION_KEY</H3>
+<PRE>
+public static final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>ALWAYS_FIRST_POSITION_KEY</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="ALWAYS_LAST_POSITION_KEY"><!-- --></A><H3>
+ALWAYS_LAST_POSITION_KEY</H3>
+<PRE>
+public static final <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <B>ALWAYS_LAST_POSITION_KEY</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="Scheduler()"><!-- --></A><H3>
+Scheduler</H3>
+<PRE>
+public <B>Scheduler</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="add(java.lang.Object, int)"><!-- --></A><H3>
+add</H3>
+<PRE>
+public void <B>add</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> obj,
+ int position)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="remove(java.lang.Object)"><!-- --></A><H3>
+remove</H3>
+<PRE>
+public void <B>remove</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> obj)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNaturalOrderPositions()"><!-- --></A><H3>
+getNaturalOrderPositions</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</A> <B>getNaturalOrderPositions</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getReverseOrderPositions()"><!-- --></A><H3>
+getReverseOrderPositions</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/SortedSet.html?is-external=true" title="class or interface in java.util">SortedSet</A> <B>getReverseOrderPositions</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getByNaturalOrderForPosition(java.lang.Object)"><!-- --></A><H3>
+getByNaturalOrderForPosition</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>getByNaturalOrderForPosition</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> positionKey)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getByReverseOrderForPosition(java.lang.Object)"><!-- --></A><H3>
+getByReverseOrderForPosition</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A> <B>getByReverseOrderForPosition</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> positionKey)</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="size()"><!-- --></A><H3>
+size</H3>
+<PRE>
+public int <B>size</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="iterator()"><!-- --></A><H3>
+iterator</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</A> <B>iterator</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="reverseIterator()"><!-- --></A><H3>
+reverseIterator</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util">Iterator</A> <B>reverseIterator</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Scheduler.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/utils/PropertyUtils.html" title="class in bitronix.tm.utils"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/Scheduler.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Scheduler.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/utils/Service.html b/doc/api/bitronix/tm/utils/Service.html
new file mode 100644
index 0000000..673a7f5
--- /dev/null
+++ b/doc/api/bitronix/tm/utils/Service.html
@@ -0,0 +1,223 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Service (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Service (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Service.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/Service.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Service.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.utils</FONT>
+<BR>
+Interface Service</H2>
+<DL>
+<DT><B>All Known Subinterfaces:</B> <DD><A HREF="../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A>, <A HREF="../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A></DD>
+</DL>
+<DL>
+<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../bitronix/tm/twopc/executor/BackportConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor">BackportConcurrentExecutor</A>, <A HREF="../../../bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm">BitronixTransactionManager</A>, <A HREF="../../../bitronix/tm/twopc/executor/ConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor">ConcurrentExecutor</A>, <A HREF="../../../bitronix/tm [...]
+</DL>
+<HR>
+<DL>
+<DT><PRE>public interface <B>Service</B></DL>
+</PRE>
+
+<P>
+All internal services implement this interface.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../bitronix/tm/TransactionManagerServices.html" title="class in bitronix.tm"><CODE>TransactionManagerServices</CODE></A></DL>
+<HR>
+
+<P>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Service.html#shutdown()">shutdown</A></B>()</CODE>
+
+<BR>
+ Shutdown the service and free all held resources.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="shutdown()"><!-- --></A><H3>
+shutdown</H3>
+<PRE>
+void <B>shutdown</B>()</PRE>
+<DL>
+<DD>Shutdown the service and free all held resources.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Service.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/Service.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Service.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/utils/Uid.html b/doc/api/bitronix/tm/utils/Uid.html
new file mode 100644
index 0000000..eca1f3c
--- /dev/null
+++ b/doc/api/bitronix/tm/utils/Uid.html
@@ -0,0 +1,384 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uid (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uid (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Uid.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/utils/UidGenerator.html" title="class in bitronix.tm.utils"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/Uid.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Uid.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.utils</FONT>
+<BR>
+Class Uid</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.utils.Uid</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public final class <B>Uid</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+<p>A constant UID byte array container optimized for use with hashed collections.</p>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Uid.html#Uid(byte[])">Uid</A></B>(byte[] array)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Uid.html#equals(java.lang.Object)">equals</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> obj)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Uid.html#extractSequence()">extractSequence</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> byte[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Uid.html#extractServerId()">extractServerId</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> long</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Uid.html#extractTimestamp()">extractTimestamp</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> byte[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Uid.html#getArray()">getArray</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Uid.html#hashCode()">hashCode</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/Uid.html#toString()">toString</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.c [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="Uid(byte[])"><!-- --></A><H3>
+Uid</H3>
+<PRE>
+public <B>Uid</B>(byte[] array)</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getArray()"><!-- --></A><H3>
+getArray</H3>
+<PRE>
+public byte[] <B>getArray</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="extractServerId()"><!-- --></A><H3>
+extractServerId</H3>
+<PRE>
+public byte[] <B>extractServerId</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="extractTimestamp()"><!-- --></A><H3>
+extractTimestamp</H3>
+<PRE>
+public long <B>extractTimestamp</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="extractSequence()"><!-- --></A><H3>
+extractSequence</H3>
+<PRE>
+public int <B>extractSequence</B>()</PRE>
+<DL>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="equals(java.lang.Object)"><!-- --></A><H3>
+equals</H3>
+<PRE>
+public boolean <B>equals</B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> obj)</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="hashCode()"><!-- --></A><H3>
+hashCode</H3>
+<PRE>
+public int <B>hashCode</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="toString()"><!-- --></A><H3>
+toString</H3>
+<PRE>
+public <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>toString</B>()</PRE>
+<DL>
+<DD><DL>
+<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
+</DD>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Uid.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils"><B>PREV CLASS</B></A>
+ <A HREF="../../../bitronix/tm/utils/UidGenerator.html" title="class in bitronix.tm.utils"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/Uid.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Uid.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/utils/UidGenerator.html b/doc/api/bitronix/tm/utils/UidGenerator.html
new file mode 100644
index 0000000..c06b0a2
--- /dev/null
+++ b/doc/api/bitronix/tm/utils/UidGenerator.html
@@ -0,0 +1,314 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+UidGenerator (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="UidGenerator (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/UidGenerator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/UidGenerator.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="UidGenerator.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+bitronix.tm.utils</FONT>
+<BR>
+Class UidGenerator</H2>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
+ <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>bitronix.tm.utils.UidGenerator</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public class <B>UidGenerator</B><DT>extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></DL>
+</PRE>
+
+<P>
+Helper that offers UID generation (GTRID, XID, sequences) needed by the transaction manager.
+ <p>Generated UIDs are at most 64 bytes long and are made of 3 subparts: the current time in milliseconds since
+ Epoch, a JVM transient atomic sequence number and the configured <code>bitronix.tm.serverId</code>.</p>
+ <p>The reliance on the system clock is critical to the uniqueness of the UID in the network so you have to make sure
+ all servers of the network running this transaction manager have their clock reasonably in sync. An order of 1
+ second synchronicity is generally fine.</p>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+ <DD>lorban</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/UidGenerator.html#UidGenerator()">UidGenerator</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/UidGenerator.html#generateUid()">generateUid</A></B>()</CODE>
+
+<BR>
+ Generate a UID, globally unique.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/UidGenerator.html#generateXid(bitronix.tm.utils.Uid)">generateXid</A></B>(<A HREF="../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> gtrid)</CODE>
+
+<BR>
+ Generate a XID with the specified globalTransactionId.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static int</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../bitronix/tm/utils/UidGenerator.html#getNextSequenceNumber()">getNextSequenceNumber</A></B>()</CODE>
+
+<BR>
+ Atomically generate general-purpose sequence numbers starting at 0.</TD>
+</TR>
+</TABLE>
+ <A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http: [...]
+</TR>
+</TABLE>
+
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="UidGenerator()"><!-- --></A><H3>
+UidGenerator</H3>
+<PRE>
+public <B>UidGenerator</B>()</PRE>
+<DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="generateUid()"><!-- --></A><H3>
+generateUid</H3>
+<PRE>
+public static <A HREF="../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> <B>generateUid</B>()</PRE>
+<DL>
+<DD>Generate a UID, globally unique. This method relies on the configured serverId for network uniqueness.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>the generated UID.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getNextSequenceNumber()"><!-- --></A><H3>
+getNextSequenceNumber</H3>
+<PRE>
+public static int <B>getNextSequenceNumber</B>()</PRE>
+<DL>
+<DD>Atomically generate general-purpose sequence numbers starting at 0. The counter is reset at every
+ JVM startup.
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>a sequence number unique for the lifespan of this JVM.</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="generateXid(bitronix.tm.utils.Uid)"><!-- --></A><H3>
+generateXid</H3>
+<PRE>
+public static <A HREF="../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A> <B>generateXid</B>(<A HREF="../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> gtrid)</PRE>
+<DL>
+<DD>Generate a XID with the specified globalTransactionId.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>gtrid</CODE> - the GTRID to use to generate the Xid.
+<DT><B>Returns:</B><DD>the generated Xid.</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/UidGenerator.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils"><B>PREV CLASS</B></A>
+ NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/UidGenerator.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="UidGenerator.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+ SUMMARY: NESTED | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/utils/class-use/ClassLoaderUtils.html b/doc/api/bitronix/tm/utils/class-use/ClassLoaderUtils.html
new file mode 100644
index 0000000..59b8dc8
--- /dev/null
+++ b/doc/api/bitronix/tm/utils/class-use/ClassLoaderUtils.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.utils.ClassLoaderUtils (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.utils.ClassLoaderUtils (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/utils/ClassLoaderUtils.html" title="class in bitronix.tm.utils"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/utils//class-useClassLoaderUtils.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ClassLoaderUtils.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.utils.ClassLoaderUtils</B></H2>
+</CENTER>
+No usage of bitronix.tm.utils.ClassLoaderUtils
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/utils/ClassLoaderUtils.html" title="class in bitronix.tm.utils"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/utils//class-useClassLoaderUtils.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ClassLoaderUtils.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/utils/class-use/CollectionUtils.html b/doc/api/bitronix/tm/utils/class-use/CollectionUtils.html
new file mode 100644
index 0000000..dd88f5f
--- /dev/null
+++ b/doc/api/bitronix/tm/utils/class-use/CollectionUtils.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.utils.CollectionUtils (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.utils.CollectionUtils (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/utils/CollectionUtils.html" title="class in bitronix.tm.utils"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/utils//class-useCollectionUtils.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="CollectionUtils.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.utils.CollectionUtils</B></H2>
+</CENTER>
+No usage of bitronix.tm.utils.CollectionUtils
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/utils/CollectionUtils.html" title="class in bitronix.tm.utils"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/utils//class-useCollectionUtils.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="CollectionUtils.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/utils/class-use/CryptoEngine.html b/doc/api/bitronix/tm/utils/class-use/CryptoEngine.html
new file mode 100644
index 0000000..5dc7d9b
--- /dev/null
+++ b/doc/api/bitronix/tm/utils/class-use/CryptoEngine.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.utils.CryptoEngine (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.utils.CryptoEngine (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/utils/CryptoEngine.html" title="class in bitronix.tm.utils"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/utils//class-useCryptoEngine.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="CryptoEngine.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.utils.CryptoEngine</B></H2>
+</CENTER>
+No usage of bitronix.tm.utils.CryptoEngine
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/utils/CryptoEngine.html" title="class in bitronix.tm.utils"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/utils//class-useCryptoEngine.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="CryptoEngine.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/utils/class-use/Decoder.html b/doc/api/bitronix/tm/utils/class-use/Decoder.html
new file mode 100644
index 0000000..f49a10c
--- /dev/null
+++ b/doc/api/bitronix/tm/utils/class-use/Decoder.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.utils.Decoder (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.utils.Decoder (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/utils/Decoder.html" title="class in bitronix.tm.utils"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/utils//class-useDecoder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Decoder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.utils.Decoder</B></H2>
+</CENTER>
+No usage of bitronix.tm.utils.Decoder
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/utils/Decoder.html" title="class in bitronix.tm.utils"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/utils//class-useDecoder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Decoder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/utils/class-use/Encoder.html b/doc/api/bitronix/tm/utils/class-use/Encoder.html
new file mode 100644
index 0000000..c4091dd
--- /dev/null
+++ b/doc/api/bitronix/tm/utils/class-use/Encoder.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.utils.Encoder (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.utils.Encoder (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/utils/Encoder.html" title="class in bitronix.tm.utils"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/utils//class-useEncoder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Encoder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.utils.Encoder</B></H2>
+</CENTER>
+No usage of bitronix.tm.utils.Encoder
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/utils/Encoder.html" title="class in bitronix.tm.utils"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/utils//class-useEncoder.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Encoder.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/utils/class-use/InitializationException.html b/doc/api/bitronix/tm/utils/class-use/InitializationException.html
new file mode 100644
index 0000000..b8b6621
--- /dev/null
+++ b/doc/api/bitronix/tm/utils/class-use/InitializationException.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.utils.InitializationException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.utils.InitializationException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/utils/InitializationException.html" title="class in bitronix.tm.utils"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/utils//class-useInitializationException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="InitializationException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.utils.InitializationException</B></H2>
+</CENTER>
+No usage of bitronix.tm.utils.InitializationException
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/utils/InitializationException.html" title="class in bitronix.tm.utils"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/utils//class-useInitializationException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="InitializationException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/utils/class-use/ManagementRegistrar.html b/doc/api/bitronix/tm/utils/class-use/ManagementRegistrar.html
new file mode 100644
index 0000000..cee4f52
--- /dev/null
+++ b/doc/api/bitronix/tm/utils/class-use/ManagementRegistrar.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.utils.ManagementRegistrar (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.utils.ManagementRegistrar (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/utils/ManagementRegistrar.html" title="class in bitronix.tm.utils"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/utils//class-useManagementRegistrar.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ManagementRegistrar.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.utils.ManagementRegistrar</B></H2>
+</CENTER>
+No usage of bitronix.tm.utils.ManagementRegistrar
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/utils/ManagementRegistrar.html" title="class in bitronix.tm.utils"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/utils//class-useManagementRegistrar.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="ManagementRegistrar.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/utils/class-use/PropertyException.html b/doc/api/bitronix/tm/utils/class-use/PropertyException.html
new file mode 100644
index 0000000..9f9fb14
--- /dev/null
+++ b/doc/api/bitronix/tm/utils/class-use/PropertyException.html
@@ -0,0 +1,210 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.utils.PropertyException (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.utils.PropertyException (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/utils/PropertyException.html" title="class in bitronix.tm.utils"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/utils//class-usePropertyException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PropertyException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.utils.PropertyException</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../bitronix/tm/utils/PropertyException.html" title="class in bitronix.tm.utils">PropertyException</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.utils"><B>bitronix.tm.utils</B></A></TD>
+<TD>
+ Misc utility classes. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.utils"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/utils/PropertyException.html" title="class in bitronix.tm.utils">PropertyException</A> in <A HREF="../../../../bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A> that throw <A HREF="../../../../bitronix/tm/utils/PropertyException.html" title="class in bitronix.tm.utils">PropertyException</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B>PropertyUtils.</B><B><A HREF="../../../../bitronix/tm/utils/PropertyUtils.html#getProperties(java.lang.Object)">getProperties</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> target)</CODE>
+
+<BR>
+ Build a map of direct javabeans properties of the target object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
+<TD><CODE><B>PropertyUtils.</B><B><A HREF="../../../../bitronix/tm/utils/PropertyUtils.html#getProperty(java.lang.Object, java.lang.String)">getProperty</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> target,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> propertyName)</CODE>
+
+<BR>
+ Get a direct or indirect property (dotted property: prop1.prop2.prop3) on the target object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B>PropertyUtils.</B><B><A HREF="../../../../bitronix/tm/utils/PropertyUtils.html#setProperties(java.lang.Object, java.util.Map)">setProperties</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> target,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A> properties)</CODE>
+
+<BR>
+ Set a <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util"><CODE>Map</CODE></A> of direct or indirect properties on the target object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static void</CODE></FONT></TD>
+<TD><CODE><B>PropertyUtils.</B><B><A HREF="../../../../bitronix/tm/utils/PropertyUtils.html#setProperty(java.lang.Object, java.lang.String, java.lang.Object)">setProperty</A></B>(<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> target,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> propertyName,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> propertyValue)</CODE>
+
+<BR>
+ Set a direct or indirect property (dotted property: prop1.prop2.prop3) on the target object.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/utils/PropertyException.html" title="class in bitronix.tm.utils"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/utils//class-usePropertyException.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PropertyException.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/utils/class-use/PropertyUtils.html b/doc/api/bitronix/tm/utils/class-use/PropertyUtils.html
new file mode 100644
index 0000000..9fe2733
--- /dev/null
+++ b/doc/api/bitronix/tm/utils/class-use/PropertyUtils.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.utils.PropertyUtils (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.utils.PropertyUtils (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/utils/PropertyUtils.html" title="class in bitronix.tm.utils"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/utils//class-usePropertyUtils.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PropertyUtils.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.utils.PropertyUtils</B></H2>
+</CENTER>
+No usage of bitronix.tm.utils.PropertyUtils
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/utils/PropertyUtils.html" title="class in bitronix.tm.utils"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/utils//class-usePropertyUtils.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="PropertyUtils.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/utils/class-use/Scheduler.html b/doc/api/bitronix/tm/utils/class-use/Scheduler.html
new file mode 100644
index 0000000..67848ca
--- /dev/null
+++ b/doc/api/bitronix/tm/utils/class-use/Scheduler.html
@@ -0,0 +1,182 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.utils.Scheduler (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.utils.Scheduler (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/utils//class-useScheduler.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Scheduler.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.utils.Scheduler</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils">Scheduler</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm"><B>bitronix.tm</B></A></TD>
+<TD>
+ JTA interfaces implementations and global services. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils">Scheduler</A> in <A HREF="../../../../bitronix/tm/package-summary.html">bitronix.tm</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/package-summary.html">bitronix.tm</A> that return <A HREF="../../../../bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils">Scheduler</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils">Scheduler</A></CODE></FONT></TD>
+<TD><CODE><B>BitronixTransaction.</B><B><A HREF="../../../../bitronix/tm/BitronixTransaction.html#getSynchronizationScheduler()">getSynchronizationScheduler</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/utils//class-useScheduler.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Scheduler.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/utils/class-use/Service.html b/doc/api/bitronix/tm/utils/class-use/Service.html
new file mode 100644
index 0000000..c5046d4
--- /dev/null
+++ b/doc/api/bitronix/tm/utils/class-use/Service.html
@@ -0,0 +1,406 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Interface bitronix.tm.utils.Service (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Interface bitronix.tm.utils.Service (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/utils//class-useService.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Service.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Interface<br>bitronix.tm.utils.Service</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm"><B>bitronix.tm</B></A></TD>
+<TD>
+ JTA interfaces implementations and global services. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.journal"><B>bitronix.tm.journal</B></A></TD>
+<TD>
+ Transactions disk journal. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.recovery"><B>bitronix.tm.recovery</B></A></TD>
+<TD>
+ Recovery logic. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource"><B>bitronix.tm.resource</B></A></TD>
+<TD>
+ Transaction Manager's resource management services. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.timer"><B>bitronix.tm.timer</B></A></TD>
+<TD>
+ Timed tasks scheduler. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.twopc.executor"><B>bitronix.tm.twopc.executor</B></A></TD>
+<TD>
+ Two-phase commit commands executors. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A> in <A HREF="../../../../bitronix/tm/package-summary.html">bitronix.tm</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../bitronix/tm/package-summary.html">bitronix.tm</A> that implement <A HREF="../../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm">BitronixTransactionManager</A></B></CODE>
+
+<BR>
+ Implementation of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionManager.html?is-external=true" title="class or interface in javax.transaction"><CODE>TransactionManager</CODE></A> and <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/UserTransaction.html?is-external=true" title="class or interface in javax.transaction"><CODE>UserTransaction</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A></B></CODE>
+
+<BR>
+ Configuration repository of the transaction manager.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.journal"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A> in <A HREF="../../../../bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Subinterfaces of <A HREF="../../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A> in <A HREF="../../../../bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A></B></CODE>
+
+<BR>
+ Transaction logs journal implementations must implement this interface to provide functionality required by the
+ transaction manager.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A> that implement <A HREF="../../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/journal/DiskJournal.html" title="class in bitronix.tm.journal">DiskJournal</A></B></CODE>
+
+<BR>
+ Simple implementation of a journal that writes on a two-files disk log.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/journal/NullJournal.html" title="class in bitronix.tm.journal">NullJournal</A></B></CODE>
+
+<BR>
+ No-op journal.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.recovery"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A> in <A HREF="../../../../bitronix/tm/recovery/package-summary.html">bitronix.tm.recovery</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../bitronix/tm/recovery/package-summary.html">bitronix.tm.recovery</A> that implement <A HREF="../../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A></B></CODE>
+
+<BR>
+ Recovery process implementation.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A> in <A HREF="../../../../bitronix/tm/resource/package-summary.html">bitronix.tm.resource</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../bitronix/tm/resource/package-summary.html">bitronix.tm.resource</A> that implement <A HREF="../../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource">ResourceLoader</A></B></CODE>
+
+<BR>
+ XA resources pools configurator & loader.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.timer"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A> in <A HREF="../../../../bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A> that implement <A HREF="../../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A></B></CODE>
+
+<BR>
+ Timed tasks service.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.twopc.executor"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A> in <A HREF="../../../../bitronix/tm/twopc/executor/package-summary.html">bitronix.tm.twopc.executor</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Subinterfaces of <A HREF="../../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A> in <A HREF="../../../../bitronix/tm/twopc/executor/package-summary.html">bitronix.tm.twopc.executor</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A></B></CODE>
+
+<BR>
+ Thread pool interface required by the two-phase commit logic.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Classes in <A HREF="../../../../bitronix/tm/twopc/executor/package-summary.html">bitronix.tm.twopc.executor</A> that implement <A HREF="../../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/BackportConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor">BackportConcurrentExecutor</A></B></CODE>
+
+<BR>
+ Abstraction of the <code>java.util.concurrent</code>
+ <a href="http://www.dcl.mathcs.emory.edu/util/backport-util-concurrent/">backport</a> implementation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/ConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor">ConcurrentExecutor</A></B></CODE>
+
+<BR>
+ Abstraction of the <code>java.util.concurrent</code> JDK 1.5+ implementation.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/SimpleAsyncExecutor.html" title="class in bitronix.tm.twopc.executor">SimpleAsyncExecutor</A></B></CODE>
+
+<BR>
+ This implementation spawns a new thread per request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> class</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../../bitronix/tm/twopc/executor/SyncExecutor.html" title="class in bitronix.tm.twopc.executor">SyncExecutor</A></B></CODE>
+
+<BR>
+ This implementation executes submitted jobs synchronously.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/utils//class-useService.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Service.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/utils/class-use/Uid.html b/doc/api/bitronix/tm/utils/class-use/Uid.html
new file mode 100644
index 0000000..bb72480
--- /dev/null
+++ b/doc/api/bitronix/tm/utils/class-use/Uid.html
@@ -0,0 +1,431 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.utils.Uid (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.utils.Uid (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/utils//class-useUid.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Uid.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.utils.Uid</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm"><B>bitronix.tm</B></A></TD>
+<TD>
+ JTA interfaces implementations and global services. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.internal"><B>bitronix.tm.internal</B></A></TD>
+<TD>
+ Internal implementation details. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.journal"><B>bitronix.tm.journal</B></A></TD>
+<TD>
+ Transactions disk journal. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.common"><B>bitronix.tm.resource.common</B></A></TD>
+<TD>
+ Resource management code common across all resource types. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.utils"><B>bitronix.tm.utils</B></A></TD>
+<TD>
+ Misc utility classes. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> in <A HREF="../../../../bitronix/tm/package-summary.html">bitronix.tm</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/package-summary.html">bitronix.tm</A> that return <A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A></CODE></FONT></TD>
+<TD><CODE><B>BitronixXid.</B><B><A HREF="../../../../bitronix/tm/BitronixXid.html#getBranchQualifierUid()">getBranchQualifierUid</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A></CODE></FONT></TD>
+<TD><CODE><B>BitronixXid.</B><B><A HREF="../../../../bitronix/tm/BitronixXid.html#getGlobalTransactionIdUid()">getGlobalTransactionIdUid</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../bitronix/tm/package-summary.html">bitronix.tm</A> with parameters of type <A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/BitronixXid.html#BitronixXid(bitronix.tm.utils.Uid, bitronix.tm.utils.Uid)">BitronixXid</A></B>(<A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> globalTransactionId,
+ <A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> branchQualifier)</CODE>
+
+<BR>
+ Create a new XID using the specified GTRID and BQUAL.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.internal"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> in <A HREF="../../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A> that return <A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A></CODE></FONT></TD>
+<TD><CODE><B>XAResourceManager.</B><B><A HREF="../../../../bitronix/tm/internal/XAResourceManager.html#getGtrid()">getGtrid</A></B>()</CODE>
+
+<BR>
+ Get the GTRID of the transaction the <A HREF="../../../../bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal"><CODE>XAResourceManager</CODE></A> instance is attached to.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A> with parameters of type <A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/internal/XAResourceManager.html#XAResourceManager(bitronix.tm.utils.Uid)">XAResourceManager</A></B>(<A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> gtrid)</CODE>
+
+<BR>
+ Create a resource manager for the specified GTRID.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.journal"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> in <A HREF="../../../../bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A> that return <A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A></CODE></FONT></TD>
+<TD><CODE><B>TransactionLogRecord.</B><B><A HREF="../../../../bitronix/tm/journal/TransactionLogRecord.html#getGtrid()">getGtrid</A></B>()</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A> with parameters of type <A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>NullJournal.</B><B><A HREF="../../../../bitronix/tm/journal/NullJournal.html#log(int, bitronix.tm.utils.Uid, java.util.Set)">log</A></B>(int status,
+ <A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> gtrid,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A> uniqueNames)</CODE>
+
+<BR>
+ </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>Journal.</B><B><A HREF="../../../../bitronix/tm/journal/Journal.html#log(int, bitronix.tm.utils.Uid, java.util.Set)">log</A></B>(int status,
+ <A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> gtrid,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A> uniqueNames)</CODE>
+
+<BR>
+ Log a new transaction status to journal.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> void</CODE></FONT></TD>
+<TD><CODE><B>DiskJournal.</B><B><A HREF="../../../../bitronix/tm/journal/DiskJournal.html#log(int, bitronix.tm.utils.Uid, java.util.Set)">log</A></B>(int status,
+ <A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> gtrid,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A> uniqueNames)</CODE>
+
+<BR>
+ Log a new transaction status to journal.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Constructors in <A HREF="../../../../bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A> with parameters of type <A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/journal/TransactionLogRecord.html#TransactionLogRecord(int, int, int, long, int, int, bitronix.tm.utils.Uid, java.util.Set, int)">TransactionLogRecord</A></B>(int status,
+ int recordLength,
+ int headerLength,
+ long time,
+ int sequenceNumber,
+ int crc32,
+ <A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> gtrid,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A> uniqueNames,
+ int endRecord)</CODE>
+
+<BR>
+ Use this constructor when restoring a log from the disk.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../../bitronix/tm/journal/TransactionLogRecord.html#TransactionLogRecord(int, bitronix.tm.utils.Uid, java.util.Set)">TransactionLogRecord</A></B>(int status,
+ <A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> gtrid,
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</A> uniqueNames)</CODE>
+
+<BR>
+ Create a new transaction log ready to be stored.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.common"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> in <A HREF="../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A> with parameters of type <A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B>XAResourceHolder.</B><B><A HREF="../../../../bitronix/tm/resource/common/XAResourceHolder.html#getXAResourceHolderStatesForGtrid(bitronix.tm.utils.Uid)">getXAResourceHolderStatesForGtrid</A></B>(<A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> gtrid)</CODE>
+
+<BR>
+ Get all the <A HREF="../../../../bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A>s of this wrapped resource for a specific GTRID.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE> <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A></CODE></FONT></TD>
+<TD><CODE><B>AbstractXAResourceHolder.</B><B><A HREF="../../../../bitronix/tm/resource/common/AbstractXAResourceHolder.html#getXAResourceHolderStatesForGtrid(bitronix.tm.utils.Uid)">getXAResourceHolderStatesForGtrid</A></B>(<A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> gtrid)</CODE>
+
+<BR>
+ </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.utils"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Uses of <A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> in <A HREF="../../../../bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A> that return <A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A></CODE></FONT></TD>
+<TD><CODE><B>UidGenerator.</B><B><A HREF="../../../../bitronix/tm/utils/UidGenerator.html#generateUid()">generateUid</A></B>()</CODE>
+
+<BR>
+ Generate a UID, globally unique.</TD>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2">Methods in <A HREF="../../../../bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A> with parameters of type <A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static <A HREF="../../../../bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A></CODE></FONT></TD>
+<TD><CODE><B>UidGenerator.</B><B><A HREF="../../../../bitronix/tm/utils/UidGenerator.html#generateXid(bitronix.tm.utils.Uid)">generateXid</A></B>(<A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A> gtrid)</CODE>
+
+<BR>
+ Generate a XID with the specified globalTransactionId.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/utils//class-useUid.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="Uid.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/utils/class-use/UidGenerator.html b/doc/api/bitronix/tm/utils/class-use/UidGenerator.html
new file mode 100644
index 0000000..c39a248
--- /dev/null
+++ b/doc/api/bitronix/tm/utils/class-use/UidGenerator.html
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Class bitronix.tm.utils.UidGenerator (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Class bitronix.tm.utils.UidGenerator (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/utils/UidGenerator.html" title="class in bitronix.tm.utils"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/utils//class-useUidGenerator.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="UidGenerator.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Class<br>bitronix.tm.utils.UidGenerator</B></H2>
+</CENTER>
+No usage of bitronix.tm.utils.UidGenerator
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../bitronix/tm/utils/UidGenerator.html" title="class in bitronix.tm.utils"><FONT CLASS="NavBarFont1"><B>Class</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../../index.html?bitronix/tm/utils//class-useUidGenerator.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="UidGenerator.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/utils/package-frame.html b/doc/api/bitronix/tm/utils/package-frame.html
new file mode 100644
index 0000000..f1281cc
--- /dev/null
+++ b/doc/api/bitronix/tm/utils/package-frame.html
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.utils (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../bitronix/tm/utils/package-summary.html" target="classFrame">bitronix.tm.utils</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Interfaces</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="Service.html" title="interface in bitronix.tm.utils" target="classFrame"><I>Service</I></A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="ClassLoaderUtils.html" title="class in bitronix.tm.utils" target="classFrame">ClassLoaderUtils</A>
+<BR>
+<A HREF="CollectionUtils.html" title="class in bitronix.tm.utils" target="classFrame">CollectionUtils</A>
+<BR>
+<A HREF="CryptoEngine.html" title="class in bitronix.tm.utils" target="classFrame">CryptoEngine</A>
+<BR>
+<A HREF="Decoder.html" title="class in bitronix.tm.utils" target="classFrame">Decoder</A>
+<BR>
+<A HREF="Encoder.html" title="class in bitronix.tm.utils" target="classFrame">Encoder</A>
+<BR>
+<A HREF="ManagementRegistrar.html" title="class in bitronix.tm.utils" target="classFrame">ManagementRegistrar</A>
+<BR>
+<A HREF="PropertyUtils.html" title="class in bitronix.tm.utils" target="classFrame">PropertyUtils</A>
+<BR>
+<A HREF="Scheduler.html" title="class in bitronix.tm.utils" target="classFrame">Scheduler</A>
+<BR>
+<A HREF="Uid.html" title="class in bitronix.tm.utils" target="classFrame">Uid</A>
+<BR>
+<A HREF="UidGenerator.html" title="class in bitronix.tm.utils" target="classFrame">UidGenerator</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Exceptions</FONT>
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="InitializationException.html" title="class in bitronix.tm.utils" target="classFrame">InitializationException</A>
+<BR>
+<A HREF="PropertyException.html" title="class in bitronix.tm.utils" target="classFrame">PropertyException</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/utils/package-summary.html b/doc/api/bitronix/tm/utils/package-summary.html
new file mode 100644
index 0000000..c805cfc
--- /dev/null
+++ b/doc/api/bitronix/tm/utils/package-summary.html
@@ -0,0 +1,244 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.utils (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.utils (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/twopc/executor/package-summary.html"><B>PREV PACKAGE</B></A>
+ NEXT PACKAGE</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package bitronix.tm.utils
+</H2>
+
+ Misc utility classes.
+<P>
+<B>See:</B>
+<BR>
+ <A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Interface Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A></B></TD>
+<TD>All internal services implement this interface.</TD>
+</TR>
+</TABLE>
+
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/utils/ClassLoaderUtils.html" title="class in bitronix.tm.utils">ClassLoaderUtils</A></B></TD>
+<TD>Static utility methods for loading classes and resources.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/utils/CollectionUtils.html" title="class in bitronix.tm.utils">CollectionUtils</A></B></TD>
+<TD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util"><CODE>Collection</CODE></A> helper functions.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/utils/CryptoEngine.html" title="class in bitronix.tm.utils">CryptoEngine</A></B></TD>
+<TD>Simple crypto helper that uses symetric keys to crypt and decrypt resources passwords.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/utils/Decoder.html" title="class in bitronix.tm.utils">Decoder</A></B></TD>
+<TD>Constant to string decoder.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/utils/Encoder.html" title="class in bitronix.tm.utils">Encoder</A></B></TD>
+<TD>Number to byte array and byte array to number encoder.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/utils/ManagementRegistrar.html" title="class in bitronix.tm.utils">ManagementRegistrar</A></B></TD>
+<TD>Simple JMX facade.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/utils/PropertyUtils.html" title="class in bitronix.tm.utils">PropertyUtils</A></B></TD>
+<TD>Smart reflection helper.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils">Scheduler</A></B></TD>
+<TD>Positional object container.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A></B></TD>
+<TD>A constant UID byte array container optimized for use with hashed collections.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/utils/UidGenerator.html" title="class in bitronix.tm.utils">UidGenerator</A></B></TD>
+<TD>Helper that offers UID generation (GTRID, XID, sequences) needed by the transaction manager.</TD>
+</TR>
+</TABLE>
+
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Exception Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/utils/InitializationException.html" title="class in bitronix.tm.utils">InitializationException</A></B></TD>
+<TD>Thrown at transaction manager startup when an error occurs.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../bitronix/tm/utils/PropertyException.html" title="class in bitronix.tm.utils">PropertyException</A></B></TD>
+<TD>Thrown by <A HREF="../../../bitronix/tm/utils/PropertyUtils.html" title="class in bitronix.tm.utils"><CODE>PropertyUtils</CODE></A> when some reflection error occurs.</TD>
+</TR>
+</TABLE>
+
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package bitronix.tm.utils Description
+</H2>
+
+<P>
+<p>
+ Misc utility classes.
+ </p>
+<P>
+
+<P>
+<DL>
+</DL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/twopc/executor/package-summary.html"><B>PREV PACKAGE</B></A>
+ NEXT PACKAGE</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/package-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/utils/package-tree.html b/doc/api/bitronix/tm/utils/package-tree.html
new file mode 100644
index 0000000..6edad0e
--- /dev/null
+++ b/doc/api/bitronix/tm/utils/package-tree.html
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+bitronix.tm.utils Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="bitronix.tm.utils Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/twopc/executor/package-tree.html"><B>PREV</B></A>
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package bitronix.tm.utils
+</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="../../../overview-tree.html">All Packages</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">bitronix.tm.utils.<A HREF="../../../bitronix/tm/utils/ClassLoaderUtils.html" title="class in bitronix.tm.utils"><B>ClassLoaderUtils</B></A><LI TYPE="circle">bitronix.tm.utils.<A HREF="../../../bitronix/tm/utils/CollectionUtils.html" title="class in bitronix.tm.utils"><B>CollectionUtils</B></A><LI TYPE="circle">bitronix.tm.utils.<A HREF="../../../bitronix/tm/utils/CryptoEngine.html" title="class in bitronix.tm.utils"><B>CryptoEngine</B></A><LI TYPE="circle">bitronix.tm.u [...]
+<UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><B>Exception</B></A><UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang"><B>RuntimeException</B></A><UL>
+<LI TYPE="circle">bitronix.tm.utils.<A HREF="../../../bitronix/tm/utils/InitializationException.html" title="class in bitronix.tm.utils"><B>InitializationException</B></A><LI TYPE="circle">bitronix.tm.utils.<A HREF="../../../bitronix/tm/utils/PropertyException.html" title="class in bitronix.tm.utils"><B>PropertyException</B></A></UL>
+</UL>
+</UL>
+<LI TYPE="circle">bitronix.tm.utils.<A HREF="../../../bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils"><B>Uid</B></A><LI TYPE="circle">bitronix.tm.utils.<A HREF="../../../bitronix/tm/utils/UidGenerator.html" title="class in bitronix.tm.utils"><B>UidGenerator</B></A></UL>
+</UL>
+<H2>
+Interface Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">bitronix.tm.utils.<A HREF="../../../bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils"><B>Service</B></A></UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../bitronix/tm/twopc/executor/package-tree.html"><B>PREV</B></A>
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/package-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/bitronix/tm/utils/package-use.html b/doc/api/bitronix/tm/utils/package-use.html
new file mode 100644
index 0000000..5e8e950
--- /dev/null
+++ b/doc/api/bitronix/tm/utils/package-use.html
@@ -0,0 +1,356 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Uses of Package bitronix.tm.utils (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Uses of Package bitronix.tm.utils (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Uses of Package<br>bitronix.tm.utils</B></H2>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Packages that use <A HREF="../../../bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm"><B>bitronix.tm</B></A></TD>
+<TD>
+ JTA interfaces implementations and global services. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.internal"><B>bitronix.tm.internal</B></A></TD>
+<TD>
+ Internal implementation details. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.journal"><B>bitronix.tm.journal</B></A></TD>
+<TD>
+ Transactions disk journal. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.recovery"><B>bitronix.tm.recovery</B></A></TD>
+<TD>
+ Recovery logic. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource"><B>bitronix.tm.resource</B></A></TD>
+<TD>
+ Transaction Manager's resource management services. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.resource.common"><B>bitronix.tm.resource.common</B></A></TD>
+<TD>
+ Resource management code common across all resource types. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.timer"><B>bitronix.tm.timer</B></A></TD>
+<TD>
+ Timed tasks scheduler. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.twopc.executor"><B>bitronix.tm.twopc.executor</B></A></TD>
+<TD>
+ Two-phase commit commands executors. </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="#bitronix.tm.utils"><B>bitronix.tm.utils</B></A></TD>
+<TD>
+ Misc utility classes. </TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A> used by <A HREF="../../../bitronix/tm/package-summary.html">bitronix.tm</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/utils/class-use/Scheduler.html#bitronix.tm"><B>Scheduler</B></A></B>
+
+<BR>
+ Positional object container.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/utils/class-use/Service.html#bitronix.tm"><B>Service</B></A></B>
+
+<BR>
+ All internal services implement this interface.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/utils/class-use/Uid.html#bitronix.tm"><B>Uid</B></A></B>
+
+<BR>
+ A constant UID byte array container optimized for use with hashed collections.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.internal"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A> used by <A HREF="../../../bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/utils/class-use/Uid.html#bitronix.tm.internal"><B>Uid</B></A></B>
+
+<BR>
+ A constant UID byte array container optimized for use with hashed collections.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.journal"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A> used by <A HREF="../../../bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/utils/class-use/Service.html#bitronix.tm.journal"><B>Service</B></A></B>
+
+<BR>
+ All internal services implement this interface.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/utils/class-use/Uid.html#bitronix.tm.journal"><B>Uid</B></A></B>
+
+<BR>
+ A constant UID byte array container optimized for use with hashed collections.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.recovery"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A> used by <A HREF="../../../bitronix/tm/recovery/package-summary.html">bitronix.tm.recovery</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/utils/class-use/Service.html#bitronix.tm.recovery"><B>Service</B></A></B>
+
+<BR>
+ All internal services implement this interface.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A> used by <A HREF="../../../bitronix/tm/resource/package-summary.html">bitronix.tm.resource</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/utils/class-use/Service.html#bitronix.tm.resource"><B>Service</B></A></B>
+
+<BR>
+ All internal services implement this interface.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.common"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A> used by <A HREF="../../../bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/utils/class-use/Uid.html#bitronix.tm.resource.common"><B>Uid</B></A></B>
+
+<BR>
+ A constant UID byte array container optimized for use with hashed collections.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.timer"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A> used by <A HREF="../../../bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/utils/class-use/Service.html#bitronix.tm.timer"><B>Service</B></A></B>
+
+<BR>
+ All internal services implement this interface.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.twopc.executor"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A> used by <A HREF="../../../bitronix/tm/twopc/executor/package-summary.html">bitronix.tm.twopc.executor</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/utils/class-use/Service.html#bitronix.tm.twopc.executor"><B>Service</B></A></B>
+
+<BR>
+ All internal services implement this interface.</TD>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.utils"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+Classes in <A HREF="../../../bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A> used by <A HREF="../../../bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/utils/class-use/PropertyException.html#bitronix.tm.utils"><B>PropertyException</B></A></B>
+
+<BR>
+ Thrown by <A HREF="../../../bitronix/tm/utils/PropertyUtils.html" title="class in bitronix.tm.utils"><CODE>PropertyUtils</CODE></A> when some reflection error occurs.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><B><A HREF="../../../bitronix/tm/utils/class-use/Uid.html#bitronix.tm.utils"><B>Uid</B></A></B>
+
+<BR>
+ A constant UID byte array container optimized for use with hashed collections.</TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Use</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="../../../index.html?bitronix/tm/utils/package-use.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="package-use.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/constant-values.html b/doc/api/constant-values.html
new file mode 100644
index 0000000..4771da6
--- /dev/null
+++ b/doc/api/constant-values.html
@@ -0,0 +1,403 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Constant Field Values (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Constant Field Values (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="index.html?constant-values.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="constant-values.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H1>
+Constant Field Values</H1>
+</CENTER>
+<HR SIZE="4" NOSHADE>
+<B>Contents</B><UL>
+<LI><A HREF="#bitronix.tm">bitronix.tm.*</A>
+</UL>
+
+<A NAME="bitronix.tm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left"><FONT SIZE="+2">
+bitronix.tm.*</FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="3">bitronix.tm.<A HREF="bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="bitronix.tm.BitronixXid.FORMAT_ID"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="bitronix/tm/BitronixXid.html#FORMAT_ID">FORMAT_ID</A></CODE></TD>
+<TD ALIGN="right"><CODE>1114926712</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="3">bitronix.tm.gui.<A HREF="bitronix/tm/gui/RawTransactionTableModel.html" title="class in bitronix.tm.gui">RawTransactionTableModel</A></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="bitronix.tm.gui.RawTransactionTableModel.GTRID_COL"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="bitronix/tm/gui/RawTransactionTableModel.html#GTRID_COL">GTRID_COL</A></CODE></TD>
+<TD ALIGN="right"><CODE>7</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="3">bitronix.tm.journal.<A HREF="bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal">TransactionLogAppender</A></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="bitronix.tm.journal.TransactionLogAppender.END_RECORD"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="bitronix/tm/journal/TransactionLogAppender.html#END_RECORD">END_RECORD</A></CODE></TD>
+<TD ALIGN="right"><CODE>2020504642</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="3">bitronix.tm.journal.<A HREF="bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal">TransactionLogHeader</A></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="bitronix.tm.journal.TransactionLogHeader.CLEAN_LOG_STATE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final byte</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="bitronix/tm/journal/TransactionLogHeader.html#CLEAN_LOG_STATE">CLEAN_LOG_STATE</A></CODE></TD>
+<TD ALIGN="right"><CODE>0</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="bitronix.tm.journal.TransactionLogHeader.CURRENT_POSITION_HEADER"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="bitronix/tm/journal/TransactionLogHeader.html#CURRENT_POSITION_HEADER">CURRENT_POSITION_HEADER</A></CODE></TD>
+<TD ALIGN="right"><CODE>13</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="bitronix.tm.journal.TransactionLogHeader.FORMAT_ID_HEADER"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="bitronix/tm/journal/TransactionLogHeader.html#FORMAT_ID_HEADER">FORMAT_ID_HEADER</A></CODE></TD>
+<TD ALIGN="right"><CODE>0</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="bitronix.tm.journal.TransactionLogHeader.HEADER_LENGTH"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="bitronix/tm/journal/TransactionLogHeader.html#HEADER_LENGTH">HEADER_LENGTH</A></CODE></TD>
+<TD ALIGN="right"><CODE>21</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="bitronix.tm.journal.TransactionLogHeader.STATE_HEADER"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="bitronix/tm/journal/TransactionLogHeader.html#STATE_HEADER">STATE_HEADER</A></CODE></TD>
+<TD ALIGN="right"><CODE>12</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="bitronix.tm.journal.TransactionLogHeader.TIMESTAMP_HEADER"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="bitronix/tm/journal/TransactionLogHeader.html#TIMESTAMP_HEADER">TIMESTAMP_HEADER</A></CODE></TD>
+<TD ALIGN="right"><CODE>4</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="bitronix.tm.journal.TransactionLogHeader.UNCLEAN_LOG_STATE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final byte</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="bitronix/tm/journal/TransactionLogHeader.html#UNCLEAN_LOG_STATE">UNCLEAN_LOG_STATE</A></CODE></TD>
+<TD ALIGN="right"><CODE>-1</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="3">bitronix.tm.resource.common.<A HREF="bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="bitronix.tm.resource.common.XAStatefulHolder.STATE_ACCESSIBLE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="bitronix/tm/resource/common/XAStatefulHolder.html#STATE_ACCESSIBLE">STATE_ACCESSIBLE</A></CODE></TD>
+<TD ALIGN="right"><CODE>2</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="bitronix.tm.resource.common.XAStatefulHolder.STATE_CLOSED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="bitronix/tm/resource/common/XAStatefulHolder.html#STATE_CLOSED">STATE_CLOSED</A></CODE></TD>
+<TD ALIGN="right"><CODE>0</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="bitronix.tm.resource.common.XAStatefulHolder.STATE_IN_POOL"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="bitronix/tm/resource/common/XAStatefulHolder.html#STATE_IN_POOL">STATE_IN_POOL</A></CODE></TD>
+<TD ALIGN="right"><CODE>1</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="bitronix.tm.resource.common.XAStatefulHolder.STATE_NOT_ACCESSIBLE"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="bitronix/tm/resource/common/XAStatefulHolder.html#STATE_NOT_ACCESSIBLE">STATE_NOT_ACCESSIBLE</A></CODE></TD>
+<TD ALIGN="right"><CODE>3</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="3">bitronix.tm.resource.jdbc.lrc.<A HREF="bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAResource</A></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="bitronix.tm.resource.jdbc.lrc.LrcXAResource.ENDED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#ENDED">ENDED</A></CODE></TD>
+<TD ALIGN="right"><CODE>2</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="bitronix.tm.resource.jdbc.lrc.LrcXAResource.NO_TX"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#NO_TX">NO_TX</A></CODE></TD>
+<TD ALIGN="right"><CODE>0</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="bitronix.tm.resource.jdbc.lrc.LrcXAResource.PREPARED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#PREPARED">PREPARED</A></CODE></TD>
+<TD ALIGN="right"><CODE>3</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="bitronix.tm.resource.jdbc.lrc.LrcXAResource.STARTED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#STARTED">STARTED</A></CODE></TD>
+<TD ALIGN="right"><CODE>1</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="3">bitronix.tm.resource.jms.lrc.<A HREF="bitronix/tm/resource/jms/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAResource</A></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="bitronix.tm.resource.jms.lrc.LrcXAResource.ENDED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="bitronix/tm/resource/jms/lrc/LrcXAResource.html#ENDED">ENDED</A></CODE></TD>
+<TD ALIGN="right"><CODE>2</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="bitronix.tm.resource.jms.lrc.LrcXAResource.NO_TX"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="bitronix/tm/resource/jms/lrc/LrcXAResource.html#NO_TX">NO_TX</A></CODE></TD>
+<TD ALIGN="right"><CODE>0</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="bitronix.tm.resource.jms.lrc.LrcXAResource.PREPARED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="bitronix/tm/resource/jms/lrc/LrcXAResource.html#PREPARED">PREPARED</A></CODE></TD>
+<TD ALIGN="right"><CODE>3</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="bitronix.tm.resource.jms.lrc.LrcXAResource.STARTED"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="bitronix/tm/resource/jms/lrc/LrcXAResource.html#STARTED">STARTED</A></CODE></TD>
+<TD ALIGN="right"><CODE>1</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="3">bitronix.tm.utils.<A HREF="bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils">Scheduler</A></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="bitronix.tm.utils.Scheduler.ALWAYS_FIRST_POSITION"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="bitronix/tm/utils/Scheduler.html#ALWAYS_FIRST_POSITION">ALWAYS_FIRST_POSITION</A></CODE></TD>
+<TD ALIGN="right"><CODE>-2147483648</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="bitronix.tm.utils.Scheduler.ALWAYS_LAST_POSITION"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="bitronix/tm/utils/Scheduler.html#ALWAYS_LAST_POSITION">ALWAYS_LAST_POSITION</A></CODE></TD>
+<TD ALIGN="right"><CODE>2147483647</CODE></TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="bitronix.tm.utils.Scheduler.DEFAULT_POSITION"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public static final int</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="bitronix/tm/utils/Scheduler.html#DEFAULT_POSITION">DEFAULT_POSITION</A></CODE></TD>
+<TD ALIGN="right"><CODE>0</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="index.html?constant-values.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="constant-values.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/deprecated-list.html b/doc/api/deprecated-list.html
new file mode 100644
index 0000000..5e09013
--- /dev/null
+++ b/doc/api/deprecated-list.html
@@ -0,0 +1,167 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Deprecated List (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Deprecated List (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="index.html?deprecated-list.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Deprecated API</B></H2>
+</CENTER>
+<HR SIZE="4" NOSHADE>
+<B>Contents</B><UL>
+<LI><A HREF="#method">Deprecated Methods</A>
+</UL>
+
+<A NAME="method"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Deprecated Methods</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="bitronix/tm/Configuration.html#getBackgroundRecoveryInterval()">bitronix.tm.Configuration.getBackgroundRecoveryInterval()</A>
+<BR>
+ <I>superceded by #getBackgroundRecoveryIntervalSeconds().</I> </TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><A HREF="bitronix/tm/Configuration.html#setBackgroundRecoveryInterval(int)">bitronix.tm.Configuration.setBackgroundRecoveryInterval(int)</A>
+<BR>
+ <I>superceded by #setBackgroundRecoveryIntervalSeconds(int).</I> </TD>
+</TR>
+</TABLE>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="index.html?deprecated-list.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/help-doc.html b/doc/api/help-doc.html
new file mode 100644
index 0000000..e2f9baf
--- /dev/null
+++ b/doc/api/help-doc.html
@@ -0,0 +1,224 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+API Help (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="API Help (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="index.html?help-doc.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="help-doc.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H1>
+How This API Document Is Organized</H1>
+</CENTER>
+This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.<H3>
+Overview</H3>
+<BLOCKQUOTE>
+
+<P>
+The <A HREF="overview-summary.html">Overview</A> page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.</BLOCKQUOTE>
+<H3>
+Package</H3>
+<BLOCKQUOTE>
+
+<P>
+Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:<UL>
+<LI>Interfaces (italic)<LI>Classes<LI>Enums<LI>Exceptions<LI>Errors<LI>Annotation Types</UL>
+</BLOCKQUOTE>
+<H3>
+Class/Interface</H3>
+<BLOCKQUOTE>
+
+<P>
+Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:<UL>
+<LI>Class inheritance diagram<LI>Direct Subclasses<LI>All Known Subinterfaces<LI>All Known Implementing Classes<LI>Class/interface declaration<LI>Class/interface description
+<P>
+<LI>Nested Class Summary<LI>Field Summary<LI>Constructor Summary<LI>Method Summary
+<P>
+<LI>Field Detail<LI>Constructor Detail<LI>Method Detail</UL>
+Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</BLOCKQUOTE>
+</BLOCKQUOTE>
+<H3>
+Annotation Type</H3>
+<BLOCKQUOTE>
+
+<P>
+Each annotation type has its own separate page with the following sections:<UL>
+<LI>Annotation Type declaration<LI>Annotation Type description<LI>Required Element Summary<LI>Optional Element Summary<LI>Element Detail</UL>
+</BLOCKQUOTE>
+</BLOCKQUOTE>
+<H3>
+Enum</H3>
+<BLOCKQUOTE>
+
+<P>
+Each enum has its own separate page with the following sections:<UL>
+<LI>Enum declaration<LI>Enum description<LI>Enum Constant Summary<LI>Enum Constant Detail</UL>
+</BLOCKQUOTE>
+<H3>
+Use</H3>
+<BLOCKQUOTE>
+Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.</ [...]
+<H3>
+Tree (Class Hierarchy)</H3>
+<BLOCKQUOTE>
+There is a <A HREF="overview-tree.html">Class Hierarchy</A> page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with <code>java.lang.Object</code>. The interfaces do not inherit from <code>java.lang.Object</code>.<UL>
+<LI>When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.<LI>When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.</UL>
+</BLOCKQUOTE>
+<H3>
+Deprecated API</H3>
+<BLOCKQUOTE>
+The <A HREF="deprecated-list.html">Deprecated API</A> page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.</BLOCKQUOTE>
+<H3>
+Index</H3>
+<BLOCKQUOTE>
+The <A HREF="index-all.html">Index</A> contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.</BLOCKQUOTE>
+<H3>
+Prev/Next</H3>
+These links take you to the next or previous class, interface, package, or related page.<H3>
+Frames/No Frames</H3>
+These links show and hide the HTML frames. All pages are available with or without frames.
+<P>
+<H3>
+Serialized Form</H3>
+Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.
+<P>
+<H3>
+Constant Field Values</H3>
+The <a href="constant-values.html">Constant Field Values</a> page lists the static final fields and their values.
+<P>
+<FONT SIZE="-1">
+<EM>
+This help file applies to API documentation generated using the standard doclet.</EM>
+</FONT>
+<BR>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="index.html?help-doc.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="help-doc.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/index-all.html b/doc/api/index-all.html
new file mode 100644
index 0000000..0202b19
--- /dev/null
+++ b/doc/api/index-all.html
@@ -0,0 +1,3721 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Index (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="./stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Index (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="./overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="./overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="./deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="./help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="./index.html?index-all.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="index-all.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="./allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="./allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_J_">J</A> <A HREF="#_L_">L</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <A HREF="#_V_">V</A> <A HREF="#_W_">W</A> <A HREF="#_X_">X</A> <HR>
+<A NAME="_A_"><!-- --></A><H2>
+<B>A</B></H2>
+<DL>
+<DT><A HREF="./bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc"><B>AbstractPhaseEngine</B></A> - Class in <A HREF="./bitronix/tm/twopc/package-summary.html">bitronix.tm.twopc</A><DD>Abstract phase execution engine.<DT><A HREF="./bitronix/tm/twopc/AbstractPhaseEngine.html#AbstractPhaseEngine(bitronix.tm.twopc.executor.Executor)"><B>AbstractPhaseEngine(Executor)</B></A> -
+Constructor for class bitronix.tm.twopc.<A HREF="./bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc">AbstractPhaseEngine</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common"><B>AbstractXAResourceHolder</B></A> - Class in <A HREF="./bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A><DD>Implementation of all services required by a <A HREF="./bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>.<DT><A HREF="./bitronix/tm/resource/comm [...]
+Constructor for class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common"><B>AbstractXAStatefulHolder</B></A> - Class in <A HREF="./bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A><DD>Implementation of all services required by a <A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>.<DT><A HREF="./bitronix/tm/resource/comm [...]
+Constructor for class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">AbstractXAStatefulHolder</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/PendingTransactionTableModel.html#acceptLog(bitronix.tm.journal.TransactionLogRecord)"><B>acceptLog(TransactionLogRecord)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/PendingTransactionTableModel.html" title="class in bitronix.tm.gui">PendingTransactionTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/RawTransactionTableModel.html#acceptLog(bitronix.tm.journal.TransactionLogRecord)"><B>acceptLog(TransactionLogRecord)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/RawTransactionTableModel.html" title="class in bitronix.tm.gui">RawTransactionTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/TransactionTableModel.html#acceptLog(bitronix.tm.journal.TransactionLogRecord)"><B>acceptLog(TransactionLogRecord)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/TransactionTableModel.html" title="class in bitronix.tm.gui">TransactionTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Scheduler.html#add(java.lang.Object, int)"><B>add(Object, int)</B></A> -
+Method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils">Scheduler</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#addConnectionCustomizer(bitronix.tm.resource.jdbc.ConnectionCustomizer)"><B>addConnectionCustomizer(ConnectionCustomizer)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html#addConnectionEventListener(javax.sql.ConnectionEventListener)"><B>addConnectionEventListener(ConnectionEventListener)</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/LruStatementCache.html#addEvictionListener(bitronix.tm.resource.jdbc.LruEvictionListener)"><B>addEvictionListener(LruEvictionListener)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/LruStatementCache.html" title="class in bitronix.tm.resource.jdbc">LruStatementCache</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/AbstractXAStatefulHolder.html#addStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)"><B>addStateChangeEventListener(StateChangeListener)</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">AbstractXAStatefulHolder</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html#addStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)"><B>addStateChangeEventListener(StateChangeListener)</B></A> -
+Method in interface bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A>
+<DD>Register an implementation of <A HREF="./bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common"><CODE>StateChangeListener</CODE></A>.
+<DT><A HREF="./bitronix/tm/gui/PendingTransactionTableModel.html#addTableModelListener(javax.swing.event.TableModelListener)"><B>addTableModelListener(TableModelListener)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/PendingTransactionTableModel.html" title="class in bitronix.tm.gui">PendingTransactionTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/RawTransactionTableModel.html#addTableModelListener(javax.swing.event.TableModelListener)"><B>addTableModelListener(TableModelListener)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/RawTransactionTableModel.html" title="class in bitronix.tm.gui">RawTransactionTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html#addToEnvironment(java.lang.String, java.lang.Object)"><B>addToEnvironment(String, Object)</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransaction.html#addTransactionStatusChangeListener(bitronix.tm.internal.TransactionStatusChangeListener)"><B>addTransactionStatusChangeListener(TransactionStatusChangeListener)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/ResourcesTreeModel.html#addTreeModelListener(javax.swing.event.TreeModelListener)"><B>addTreeModelListener(TreeModelListener)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/ResourcesTreeModel.html" title="class in bitronix.tm.gui">ResourcesTreeModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/DeferredReleaseSynchronization.html#afterCompletion(int)"><B>afterCompletion(int)</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/DeferredReleaseSynchronization.html" title="class in bitronix.tm.resource.common">DeferredReleaseSynchronization</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Scheduler.html#ALWAYS_FIRST_POSITION"><B>ALWAYS_FIRST_POSITION</B></A> -
+Static variable in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils">Scheduler</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Scheduler.html#ALWAYS_FIRST_POSITION_KEY"><B>ALWAYS_FIRST_POSITION_KEY</B></A> -
+Static variable in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils">Scheduler</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Scheduler.html#ALWAYS_LAST_POSITION"><B>ALWAYS_LAST_POSITION</B></A> -
+Static variable in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils">Scheduler</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Scheduler.html#ALWAYS_LAST_POSITION_KEY"><B>ALWAYS_LAST_POSITION_KEY</B></A> -
+Static variable in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils">Scheduler</A>
+<DD>
+</DL>
+<HR>
+<A NAME="_B_"><!-- --></A><H2>
+<B>B</B></H2>
+<DL>
+<DT><A HREF="./bitronix/tm/twopc/executor/BackportConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor"><B>BackportConcurrentExecutor</B></A> - Class in <A HREF="./bitronix/tm/twopc/executor/package-summary.html">bitronix.tm.twopc.executor</A><DD>Abstraction of the <code>java.util.concurrent</code>
+ <a href="http://www.dcl.mathcs.emory.edu/util/backport-util-concurrent/">backport</a> implementation.<DT><A HREF="./bitronix/tm/twopc/executor/BackportConcurrentExecutor.html#BackportConcurrentExecutor()"><B>BackportConcurrentExecutor()</B></A> -
+Constructor for class bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/BackportConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor">BackportConcurrentExecutor</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc"><B>BaseProxyHandlerClass</B></A> - Class in <A HREF="./bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A><DD>Base class for Proxy InvocationHandlers.<DT><A HREF="./bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html#BaseProxyHandlerClass()"><B>BaseProxyHandlerClass()</B></A> -
+Constructor for class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">BaseProxyHandlerClass</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/DeferredReleaseSynchronization.html#beforeCompletion()"><B>beforeCompletion()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/DeferredReleaseSynchronization.html" title="class in bitronix.tm.resource.common">DeferredReleaseSynchronization</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransactionManager.html#begin()"><B>begin()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm">BitronixTransactionManager</A>
+<DD>Start a new transaction and bind the context to the calling thread.
+<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html#bind(javax.naming.Name, java.lang.Object)"><B>bind(Name, Object)</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html#bind(java.lang.String, java.lang.Object)"><B>bind(String, Object)</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/package-summary.html"><B>bitronix.tm</B></A> - package bitronix.tm<DD>
+ JTA interfaces implementations and global services.<DT><A HREF="./bitronix/tm/gui/package-summary.html"><B>bitronix.tm.gui</B></A> - package bitronix.tm.gui<DD>
+ GUI admin console.<DT><A HREF="./bitronix/tm/internal/package-summary.html"><B>bitronix.tm.internal</B></A> - package bitronix.tm.internal<DD>
+ Internal implementation details.<DT><A HREF="./bitronix/tm/jndi/package-summary.html"><B>bitronix.tm.jndi</B></A> - package bitronix.tm.jndi<DD>
+ JNDI provider implementation that allows looking up transaction manager and resources.<DT><A HREF="./bitronix/tm/journal/package-summary.html"><B>bitronix.tm.journal</B></A> - package bitronix.tm.journal<DD>
+ Transactions disk journal.<DT><A HREF="./bitronix/tm/recovery/package-summary.html"><B>bitronix.tm.recovery</B></A> - package bitronix.tm.recovery<DD>
+ Recovery logic.<DT><A HREF="./bitronix/tm/resource/package-summary.html"><B>bitronix.tm.resource</B></A> - package bitronix.tm.resource<DD>
+ Transaction Manager's resource management services.<DT><A HREF="./bitronix/tm/resource/common/package-summary.html"><B>bitronix.tm.resource.common</B></A> - package bitronix.tm.resource.common<DD>
+ Resource management code common across all resource types.<DT><A HREF="./bitronix/tm/resource/ehcache/package-summary.html"><B>bitronix.tm.resource.ehcache</B></A> - package bitronix.tm.resource.ehcache<DD>
+ Ehcache specific resource management code.<DT><A HREF="./bitronix/tm/resource/jdbc/package-summary.html"><B>bitronix.tm.resource.jdbc</B></A> - package bitronix.tm.resource.jdbc<DD>
+ JDBC specific resource management code.<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/package-summary.html"><B>bitronix.tm.resource.jdbc.lrc</B></A> - package bitronix.tm.resource.jdbc.lrc<DD>
+ XADataSource emulator using Last Resource Commit on an underlying non-XA DataSource.<DT><A HREF="./bitronix/tm/resource/jms/package-summary.html"><B>bitronix.tm.resource.jms</B></A> - package bitronix.tm.resource.jms<DD>
+ Synchronous JMS specific resource management code.<DT><A HREF="./bitronix/tm/resource/jms/lrc/package-summary.html"><B>bitronix.tm.resource.jms.lrc</B></A> - package bitronix.tm.resource.jms.lrc<DD>
+ XAConnectionFactory emulator using Last Resource Commit on an underlying non-XA ConnectionFactory.<DT><A HREF="./bitronix/tm/timer/package-summary.html"><B>bitronix.tm.timer</B></A> - package bitronix.tm.timer<DD>
+ Timed tasks scheduler.<DT><A HREF="./bitronix/tm/twopc/package-summary.html"><B>bitronix.tm.twopc</B></A> - package bitronix.tm.twopc<DD>
+ Two-phase commit logic.<DT><A HREF="./bitronix/tm/twopc/executor/package-summary.html"><B>bitronix.tm.twopc.executor</B></A> - package bitronix.tm.twopc.executor<DD>
+ Two-phase commit commands executors.<DT><A HREF="./bitronix/tm/utils/package-summary.html"><B>bitronix.tm.utils</B></A> - package bitronix.tm.utils<DD>
+ Misc utility classes.<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi"><B>BitronixContext</B></A> - Class in <A HREF="./bitronix/tm/jndi/package-summary.html">bitronix.tm.jndi</A><DD>Implementation of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> that allows lookup of transaction manager
+ and registered resources.<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html#BitronixContext()"><B>BitronixContext()</B></A> -
+Constructor for class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/BitronixHeuristicCommitException.html" title="class in bitronix.tm.internal"><B>BitronixHeuristicCommitException</B></A> - Exception in <A HREF="./bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A><DD>Subclass of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicCommitException.html?is-external=true" title="class or interface in javax.transaction"><CODE>HeuristicCommitException</CODE></A> supporting nested <A [...]
+Constructor for exception bitronix.tm.internal.<A HREF="./bitronix/tm/internal/BitronixHeuristicCommitException.html" title="class in bitronix.tm.internal">BitronixHeuristicCommitException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/BitronixHeuristicCommitException.html#BitronixHeuristicCommitException(java.lang.String, java.lang.Throwable)"><B>BitronixHeuristicCommitException(String, Throwable)</B></A> -
+Constructor for exception bitronix.tm.internal.<A HREF="./bitronix/tm/internal/BitronixHeuristicCommitException.html" title="class in bitronix.tm.internal">BitronixHeuristicCommitException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/BitronixHeuristicMixedException.html" title="class in bitronix.tm.internal"><B>BitronixHeuristicMixedException</B></A> - Exception in <A HREF="./bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A><DD>Subclass of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicMixedException.html?is-external=true" title="class or interface in javax.transaction"><CODE>HeuristicMixedException</CODE></A> supporting nested <A HREF [...]
+Constructor for exception bitronix.tm.internal.<A HREF="./bitronix/tm/internal/BitronixHeuristicMixedException.html" title="class in bitronix.tm.internal">BitronixHeuristicMixedException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/BitronixHeuristicMixedException.html#BitronixHeuristicMixedException(java.lang.String, java.lang.Throwable)"><B>BitronixHeuristicMixedException(String, Throwable)</B></A> -
+Constructor for exception bitronix.tm.internal.<A HREF="./bitronix/tm/internal/BitronixHeuristicMixedException.html" title="class in bitronix.tm.internal">BitronixHeuristicMixedException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/BitronixHeuristicRollbackException.html" title="class in bitronix.tm.internal"><B>BitronixHeuristicRollbackException</B></A> - Exception in <A HREF="./bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A><DD>Subclass of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicRollbackException.html?is-external=true" title="class or interface in javax.transaction"><CODE>HeuristicRollbackException</CODE></A> supporting ne [...]
+Constructor for exception bitronix.tm.internal.<A HREF="./bitronix/tm/internal/BitronixHeuristicRollbackException.html" title="class in bitronix.tm.internal">BitronixHeuristicRollbackException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/BitronixHeuristicRollbackException.html#BitronixHeuristicRollbackException(java.lang.String, java.lang.Throwable)"><B>BitronixHeuristicRollbackException(String, Throwable)</B></A> -
+Constructor for exception bitronix.tm.internal.<A HREF="./bitronix/tm/internal/BitronixHeuristicRollbackException.html" title="class in bitronix.tm.internal">BitronixHeuristicRollbackException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/jndi/BitronixInitialContextFactory.html" title="class in bitronix.tm.jndi"><B>BitronixInitialContextFactory</B></A> - Class in <A HREF="./bitronix/tm/jndi/package-summary.html">bitronix.tm.jndi</A><DD>Implementation of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/InitialContextFactory.html?is-external=true" title="class or interface in javax.naming.spi"><CODE>InitialContextFactory</CODE></A> that allows lookup of transaction manager
+ and registered resources.<DT><A HREF="./bitronix/tm/jndi/BitronixInitialContextFactory.html#BitronixInitialContextFactory()"><B>BitronixInitialContextFactory()</B></A> -
+Constructor for class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixInitialContextFactory.html" title="class in bitronix.tm.jndi">BitronixInitialContextFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/BitronixMultiSystemException.html" title="class in bitronix.tm.internal"><B>BitronixMultiSystemException</B></A> - Exception in <A HREF="./bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A><DD>Subclass of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction"><CODE>SystemException</CODE></A> supporting nested <A HREF="http://java.sun.com/ [...]
+Constructor for exception bitronix.tm.internal.<A HREF="./bitronix/tm/internal/BitronixMultiSystemException.html" title="class in bitronix.tm.internal">BitronixMultiSystemException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/BitronixRollbackException.html" title="class in bitronix.tm.internal"><B>BitronixRollbackException</B></A> - Exception in <A HREF="./bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A><DD>Subclass of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/RollbackException.html?is-external=true" title="class or interface in javax.transaction"><CODE>RollbackException</CODE></A> supporting nested <A HREF="http://java.sun.com/j2 [...]
+Constructor for exception bitronix.tm.internal.<A HREF="./bitronix/tm/internal/BitronixRollbackException.html" title="class in bitronix.tm.internal">BitronixRollbackException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/BitronixRollbackException.html#BitronixRollbackException(java.lang.String, java.lang.Throwable)"><B>BitronixRollbackException(String, Throwable)</B></A> -
+Constructor for exception bitronix.tm.internal.<A HREF="./bitronix/tm/internal/BitronixRollbackException.html" title="class in bitronix.tm.internal">BitronixRollbackException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/BitronixRollbackSystemException.html" title="class in bitronix.tm.internal"><B>BitronixRollbackSystemException</B></A> - Exception in <A HREF="./bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A><DD>Subclass of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction"><CODE>SystemException</CODE></A> indicating a rollback must be performed.< [...]
+Constructor for exception bitronix.tm.internal.<A HREF="./bitronix/tm/internal/BitronixRollbackSystemException.html" title="class in bitronix.tm.internal">BitronixRollbackSystemException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/BitronixRuntimeException.html" title="class in bitronix.tm.internal"><B>BitronixRuntimeException</B></A> - Exception in <A HREF="./bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A><DD>Thrown when a runtime exception happens.<DT><A HREF="./bitronix/tm/internal/BitronixRuntimeException.html#BitronixRuntimeException(java.lang.String, java.lang.Throwable)"><B>BitronixRuntimeException(String, Throwable)</B></A> -
+Constructor for exception bitronix.tm.internal.<A HREF="./bitronix/tm/internal/BitronixRuntimeException.html" title="class in bitronix.tm.internal">BitronixRuntimeException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/BitronixRuntimeException.html#BitronixRuntimeException(java.lang.String)"><B>BitronixRuntimeException(String)</B></A> -
+Constructor for exception bitronix.tm.internal.<A HREF="./bitronix/tm/internal/BitronixRuntimeException.html" title="class in bitronix.tm.internal">BitronixRuntimeException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal"><B>BitronixSystemException</B></A> - Exception in <A HREF="./bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A><DD>Subclass of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction"><CODE>SystemException</CODE></A> supporting nested <A HREF="http://java.sun.com/j2se/1.5.0 [...]
+Constructor for exception bitronix.tm.internal.<A HREF="./bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/BitronixSystemException.html#BitronixSystemException(java.lang.String)"><B>BitronixSystemException(String)</B></A> -
+Constructor for exception bitronix.tm.internal.<A HREF="./bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/BitronixSystemException.html#BitronixSystemException(java.lang.String, java.lang.Throwable)"><B>BitronixSystemException(String, Throwable)</B></A> -
+Constructor for exception bitronix.tm.internal.<A HREF="./bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm"><B>BitronixTransaction</B></A> - Class in <A HREF="./bitronix/tm/package-summary.html">bitronix.tm</A><DD>Implementation of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true" title="class or interface in javax.transaction"><CODE>Transaction</CODE></A>.<DT><A HREF="./bitronix/tm/BitronixTransaction.html#BitronixTransaction()"><B>BitronixTransaction()</B></A> -
+Constructor for class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm"><B>BitronixTransactionManager</B></A> - Class in <A HREF="./bitronix/tm/package-summary.html">bitronix.tm</A><DD>Implementation of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionManager.html?is-external=true" title="class or interface in javax.transaction"><CODE>TransactionManager</CODE></A> and <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/UserTran [...]
+Constructor for class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm">BitronixTransactionManager</A>
+<DD>Create the <A HREF="./bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm"><CODE>BitronixTransactionManager</CODE></A>.
+<DT><A HREF="./bitronix/tm/BitronixTransactionManagerObjectFactory.html" title="class in bitronix.tm"><B>BitronixTransactionManagerObjectFactory</B></A> - Class in <A HREF="./bitronix/tm/package-summary.html">bitronix.tm</A><DD><A HREF="./bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm"><CODE>BitronixTransactionManager</CODE></A> object factory for JNDI references.<DT><A HREF="./bitronix/tm/BitronixTransactionManagerObjectFactory.html#BitronixTransactionManagerOb [...]
+Constructor for class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionManagerObjectFactory.html" title="class in bitronix.tm">BitronixTransactionManagerObjectFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransactionMBean.html" title="interface in bitronix.tm"><B>BitronixTransactionMBean</B></A> - Interface in <A HREF="./bitronix/tm/package-summary.html">bitronix.tm</A><DD><A HREF="./bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm"><CODE>BitronixTransaction</CODE></A> Management interface.<DT><A HREF="./bitronix/tm/BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm"><B>BitronixTransactionSynchronizationRegistry [...]
+Constructor for class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm">BitronixTransactionSynchronizationRegistry</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransactionSynchronizationRegistryObjectFactory.html" title="class in bitronix.tm"><B>BitronixTransactionSynchronizationRegistryObjectFactory</B></A> - Class in <A HREF="./bitronix/tm/package-summary.html">bitronix.tm</A><DD><A HREF="./bitronix/tm/BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm"><CODE>BitronixTransactionSynchronizationRegistry</CODE></A> object factory for JNDI references.<DT><A HREF="./bitronix/tm/BitronixT [...]
+Constructor for class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionSynchronizationRegistryObjectFactory.html" title="class in bitronix.tm">BitronixTransactionSynchronizationRegistryObjectFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixUserTransactionObjectFactory.html" title="class in bitronix.tm"><B>BitronixUserTransactionObjectFactory</B></A> - Class in <A HREF="./bitronix/tm/package-summary.html">bitronix.tm</A><DD><A HREF="./bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm"><CODE>BitronixTransactionManager</CODE></A> object factory for JNDI references.<DT><A HREF="./bitronix/tm/BitronixUserTransactionObjectFactory.html#BitronixUserTransactionObjectFactory( [...]
+Constructor for class bitronix.tm.<A HREF="./bitronix/tm/BitronixUserTransactionObjectFactory.html" title="class in bitronix.tm">BitronixUserTransactionObjectFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/BitronixXAException.html" title="class in bitronix.tm.internal"><B>BitronixXAException</B></A> - Exception in <A HREF="./bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A><DD>Subclass of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAException</CODE></A> supporting nested <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/ [...]
+Constructor for exception bitronix.tm.internal.<A HREF="./bitronix/tm/internal/BitronixXAException.html" title="class in bitronix.tm.internal">BitronixXAException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/BitronixXAException.html#BitronixXAException(java.lang.String, int, java.lang.Throwable)"><B>BitronixXAException(String, int, Throwable)</B></A> -
+Constructor for exception bitronix.tm.internal.<A HREF="./bitronix/tm/internal/BitronixXAException.html" title="class in bitronix.tm.internal">BitronixXAException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixXid.html" title="class in bitronix.tm"><B>BitronixXid</B></A> - Class in <A HREF="./bitronix/tm/package-summary.html">bitronix.tm</A><DD>Implementation of <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>Xid</CODE></A>.<DT><A HREF="./bitronix/tm/BitronixXid.html#BitronixXid(bitronix.tm.utils.Uid, bitronix.tm.utils.Uid)"><B>BitronixXid(Uid, Uid)</B></A> -
+Constructor for class bitronix.tm.<A HREF="./bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A>
+<DD>Create a new XID using the specified GTRID and BQUAL.
+<DT><A HREF="./bitronix/tm/BitronixXid.html#BitronixXid(javax.transaction.xa.Xid)"><B>BitronixXid(Xid)</B></A> -
+Constructor for class bitronix.tm.<A HREF="./bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A>
+<DD>
+<DT><A HREF="./bitronix/tm/Configuration.html#buildServerIdArray()"><B>buildServerIdArray()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Build the server ID byte array that will be prepended in generated UIDs.
+<DT><A HREF="./bitronix/tm/utils/Encoder.html#bytesToInt(byte[], int)"><B>bytesToInt(byte[], int)</B></A> -
+Static method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Encoder.html" title="class in bitronix.tm.utils">Encoder</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Encoder.html#bytesToLong(byte[], int)"><B>bytesToLong(byte[], int)</B></A> -
+Static method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Encoder.html" title="class in bitronix.tm.utils">Encoder</A>
+<DD>
+</DL>
+<HR>
+<A NAME="_C_"><!-- --></A><H2>
+<B>C</B></H2>
+<DL>
+<DT><A HREF="./bitronix/tm/journal/TransactionLogRecord.html#calculateCrc32()"><B>calculateCrc32()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A>
+<DD>Calculate the CRC32 value of this record.
+<DT><A HREF="./bitronix/tm/timer/TaskScheduler.html#cancelPoolShrinking(bitronix.tm.resource.common.XAPool)"><B>cancelPoolShrinking(XAPool)</B></A> -
+Method in class bitronix.tm.timer.<A HREF="./bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A>
+<DD>Cancel the task that will tell a XA pool to close idle connections.
+<DT><A HREF="./bitronix/tm/timer/TaskScheduler.html#cancelRecovery(bitronix.tm.recovery.Recoverer)"><B>cancelRecovery(Recoverer)</B></A> -
+Method in class bitronix.tm.timer.<A HREF="./bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A>
+<DD>Cancel the task that will run background recovery at the specified date.
+<DT><A HREF="./bitronix/tm/timer/TaskScheduler.html#cancelTransactionTimeout(bitronix.tm.BitronixTransaction)"><B>cancelTransactionTimeout(BitronixTransaction)</B></A> -
+Method in class bitronix.tm.timer.<A HREF="./bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A>
+<DD>Cancel the task that will mark the transaction as timed out at the specified date.
+<DT><A HREF="./bitronix/tm/utils/ClassLoaderUtils.html" title="class in bitronix.tm.utils"><B>ClassLoaderUtils</B></A> - Class in <A HREF="./bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A><DD>Static utility methods for loading classes and resources.<DT><A HREF="./bitronix/tm/utils/ClassLoaderUtils.html#ClassLoaderUtils()"><B>ClassLoaderUtils()</B></A> -
+Constructor for class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/ClassLoaderUtils.html" title="class in bitronix.tm.utils">ClassLoaderUtils</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/TransactionLogHeader.html#CLEAN_LOG_STATE"><B>CLEAN_LOG_STATE</B></A> -
+Static variable in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal">TransactionLogHeader</A>
+<DD>State of the log file when it has been closed properly.
+<DT><A HREF="./bitronix/tm/journal/DiskForceWaitQueue.html#clear()"><B>clear()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/DiskForceWaitQueue.html" title="class in bitronix.tm.journal">DiskForceWaitQueue</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/LruStatementCache.html#clear()"><B>clear()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/LruStatementCache.html" title="class in bitronix.tm.resource.jdbc">LruStatementCache</A>
+<DD>Evict all statements from the cache.
+<DT><A HREF="./bitronix/tm/TransactionManagerServices.html#clear()"><B>clear()</B></A> -
+Static method in class bitronix.tm.<A HREF="./bitronix/tm/TransactionManagerServices.html" title="class in bitronix.tm">TransactionManagerServices</A>
+<DD>Clear services references.
+<DT><A HREF="./bitronix/tm/internal/XAResourceManager.html#clearXAResourceHolderStates()"><B>clearXAResourceHolderStates()</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal">XAResourceManager</A>
+<DD>Remove this transaction's <A HREF="./bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A> from all enlisted
+ <A HREF="./bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s.
+<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html#close()"><B>close()</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/DiskJournal.html#close()"><B>close()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/DiskJournal.html" title="class in bitronix.tm.journal">DiskJournal</A>
+<DD>Close the disk journal and the underlying files.
+<DT><A HREF="./bitronix/tm/journal/Journal.html#close()"><B>close()</B></A> -
+Method in interface bitronix.tm.journal.<A HREF="./bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A>
+<DD>Close this journal and release all underlying resources.
+<DT><A HREF="./bitronix/tm/journal/NullJournal.html#close()"><B>close()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/NullJournal.html" title="class in bitronix.tm.journal">NullJournal</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/TransactionLogAppender.html#close()"><B>close()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal">TransactionLogAppender</A>
+<DD>Close the appender and the underlying file.
+<DT><A HREF="./bitronix/tm/journal/TransactionLogCursor.html#close()"><B>close()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogCursor.html" title="class in bitronix.tm.journal">TransactionLogCursor</A>
+<DD>Close the cursor and the underlying file
+<DT><A HREF="./bitronix/tm/resource/common/RecoveryXAResourceHolder.html#close()"><B>close()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common">RecoveryXAResourceHolder</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAPool.html#close()"><B>close()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAResourceProducer.html#close()"><B>close()</B></A> -
+Method in interface bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A>
+<DD>Release this <A HREF="./bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>'s internal resources.
+<DT><A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html#close()"><B>close()</B></A> -
+Method in interface bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A>
+<DD>Close the physical connection that this <A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> represents.
+<DT><A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html#close()"><B>close()</B></A> -
+Method in class bitronix.tm.resource.ehcache.<A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html" title="class in bitronix.tm.resource.ehcache">EhCacheXAResourceHolder</A>
+<DD>Close the physical connection that this <A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> represents.
+<DT><A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html#close()"><B>close()</B></A> -
+Method in class bitronix.tm.resource.ehcache.<A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html" title="class in bitronix.tm.resource.ehcache">EhCacheXAResourceProducer</A>
+<DD>Release this <A HREF="./bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>'s internal resources.
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html#close()"><B>close()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcCallableStatementHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#close()"><B>close()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html#close()"><B>close()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#close()"><B>close()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcStatementHandle.html#close()"><B>close()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcStatementHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html#close()"><B>close()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcUncachedPreparedStatementHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html#close()"><B>close()</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html#close()"><B>close()</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#close()"><B>close()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#close()"><B>close()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JmsConnectionHandle.html#close()"><B>close()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsConnectionHandle.html" title="class in bitronix.tm.resource.jms">JmsConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JmsPooledConnection.html#close()"><B>close()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnection.html#close()"><B>close()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#close()"><B>close()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/MessageConsumerWrapper.html#close()"><B>close()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms">MessageConsumerWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html#close()"><B>close()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms">MessageProducerWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html#close()"><B>close()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/DiskJournal.html#collectDanglingRecords()"><B>collectDanglingRecords()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/DiskJournal.html" title="class in bitronix.tm.journal">DiskJournal</A>
+<DD>Collect all dangling records of the active log file.
+<DT><A HREF="./bitronix/tm/journal/Journal.html#collectDanglingRecords()"><B>collectDanglingRecords()</B></A> -
+Method in interface bitronix.tm.journal.<A HREF="./bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A>
+<DD>Collect all dangling records of the journal, ie: COMMITTING records with no corresponding COMMITTED record.
+<DT><A HREF="./bitronix/tm/journal/NullJournal.html#collectDanglingRecords()"><B>collectDanglingRecords()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/NullJournal.html" title="class in bitronix.tm.journal">NullJournal</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/CollectionUtils.html" title="class in bitronix.tm.utils"><B>CollectionUtils</B></A> - Class in <A HREF="./bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A><DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util"><CODE>Collection</CODE></A> helper functions.<DT><A HREF="./bitronix/tm/utils/CollectionUtils.html#CollectionUtils()"><B>CollectionUtils()</B></A> -
+Constructor for class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/CollectionUtils.html" title="class in bitronix.tm.utils">CollectionUtils</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/AbstractPhaseEngine.html#collectNotInterestedResources(java.util.List, java.util.List)"><B>collectNotInterestedResources(List, List)</B></A> -
+Static method in class bitronix.tm.twopc.<A HREF="./bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc">AbstractPhaseEngine</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Decoder.html#collectResourcesNames(java.util.Collection)"><B>collectResourcesNames(Collection)</B></A> -
+Static method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Decoder.html" title="class in bitronix.tm.utils">Decoder</A>
+<DD>Create a String representation of a list of <A HREF="./bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s.
+<DT><A HREF="./bitronix/tm/twopc/AbstractPhaseEngine.html#collectResourcesUniqueNames(java.util.List)"><B>collectResourcesUniqueNames(List)</B></A> -
+Static method in class bitronix.tm.twopc.<A HREF="./bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc">AbstractPhaseEngine</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/XAResourceManager.html#collectUniqueNames()"><B>collectUniqueNames()</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal">XAResourceManager</A>
+<DD>Get a <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util"><CODE>Set</CODE></A> of unique names of all the enlisted <A HREF="./bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A>s.
+<DT><A HREF="./bitronix/tm/BitronixTransaction.html#commit()"><B>commit()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransactionManager.html#commit()"><B>commit()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm">BitronixTransactionManager</A>
+<DD>
+<DT><A HREF="./bitronix/tm/recovery/RecoveryHelper.html#commit(bitronix.tm.internal.XAResourceHolderState, javax.transaction.xa.Xid)"><B>commit(XAResourceHolderState, Xid)</B></A> -
+Static method in class bitronix.tm.recovery.<A HREF="./bitronix/tm/recovery/RecoveryHelper.html" title="class in bitronix.tm.recovery">RecoveryHelper</A>
+<DD>Commit the specified branch of a dangling transaction.
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#commit()"><B>commit()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html#commit()"><B>commit()</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#commit(javax.transaction.xa.Xid, boolean)"><B>commit(Xid, boolean)</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#commit()"><B>commit()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html#commit(javax.transaction.xa.Xid, boolean)"><B>commit(Xid, boolean)</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#commit()"><B>commit()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/Committer.html#commit(bitronix.tm.BitronixTransaction, java.util.List)"><B>commit(BitronixTransaction, List)</B></A> -
+Method in class bitronix.tm.twopc.<A HREF="./bitronix/tm/twopc/Committer.html" title="class in bitronix.tm.twopc">Committer</A>
+<DD>Execute phase 2 commit.
+<DT><A HREF="./bitronix/tm/twopc/Committer.html" title="class in bitronix.tm.twopc"><B>Committer</B></A> - Class in <A HREF="./bitronix/tm/twopc/package-summary.html">bitronix.tm.twopc</A><DD>Phase 2 Commit logic engine.<DT><A HREF="./bitronix/tm/twopc/Committer.html#Committer(bitronix.tm.twopc.executor.Executor)"><B>Committer(Executor)</B></A> -
+Constructor for class bitronix.tm.twopc.<A HREF="./bitronix/tm/twopc/Committer.html" title="class in bitronix.tm.twopc">Committer</A>
+<DD>
+<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html#composeName(javax.naming.Name, javax.naming.Name)"><B>composeName(Name, Name)</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html#composeName(java.lang.String, java.lang.String)"><B>composeName(String, String)</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/executor/ConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor"><B>ConcurrentExecutor</B></A> - Class in <A HREF="./bitronix/tm/twopc/executor/package-summary.html">bitronix.tm.twopc.executor</A><DD>Abstraction of the <code>java.util.concurrent</code> JDK 1.5+ implementation.<DT><A HREF="./bitronix/tm/twopc/executor/ConcurrentExecutor.html#ConcurrentExecutor()"><B>ConcurrentExecutor()</B></A> -
+Constructor for class bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/ConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor">ConcurrentExecutor</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/executor/ConcurrentExecutor.html#ConcurrentExecutor(java.lang.String[])"><B>ConcurrentExecutor(String[])</B></A> -
+Constructor for class bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/ConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor">ConcurrentExecutor</A>
+<DD>
+<DT><A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm"><B>Configuration</B></A> - Class in <A HREF="./bitronix/tm/package-summary.html">bitronix.tm</A><DD>Configuration repository of the transaction manager.<DT><A HREF="./bitronix/tm/Configuration.html#Configuration()"><B>Configuration()</B></A> -
+Constructor for class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/ConnectionCustomizer.html" title="interface in bitronix.tm.resource.jdbc"><B>ConnectionCustomizer</B></A> - Interface in <A HREF="./bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A><DD>Listener of connections created by a PoolingDataSource.<DT><A HREF="./bitronix/tm/gui/Console.html" title="class in bitronix.tm.gui"><B>Console</B></A> - Class in <A HREF="./bitronix/tm/gui/package-summary.html">bitronix.tm.gui</A><DD><DT [...]
+Constructor for class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/Console.html" title="class in bitronix.tm.gui">Console</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/CollectionUtils.html#containsByIdentity(java.util.Collection, java.lang.Object)"><B>containsByIdentity(Collection, Object)</B></A> -
+Static method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/CollectionUtils.html" title="class in bitronix.tm.utils">CollectionUtils</A>
+<DD>Check if a collection contains a specific object by searching for it by identity
+ instead of by using equals/hashcode.
+<DT><A HREF="./bitronix/tm/journal/CorruptedTransactionLogException.html" title="class in bitronix.tm.journal"><B>CorruptedTransactionLogException</B></A> - Exception in <A HREF="./bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A><DD>Thrown by <A HREF="./bitronix/tm/journal/TransactionLogCursor.html" title="class in bitronix.tm.journal"><CODE>TransactionLogCursor</CODE></A> when an integrity check fails upon reading a record.<DT><A HREF="./bitronix/tm/journal/CorruptedTra [...]
+Constructor for exception bitronix.tm.journal.<A HREF="./bitronix/tm/journal/CorruptedTransactionLogException.html" title="class in bitronix.tm.journal">CorruptedTransactionLogException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/timer/TaskScheduler.html#countTasksQueued()"><B>countTasksQueued()</B></A> -
+Method in class bitronix.tm.timer.<A HREF="./bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A>
+<DD>Get the amount of tasks currently queued.
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#createBrowser(javax.jms.Queue)"><B>createBrowser(Queue)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#createBrowser(javax.jms.Queue, java.lang.String)"><B>createBrowser(Queue, String)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#createBrowser(javax.jms.Queue)"><B>createBrowser(Queue)</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#createBrowser(javax.jms.Queue, java.lang.String)"><B>createBrowser(Queue, String)</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#createBytesMessage()"><B>createBytesMessage()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#createBytesMessage()"><B>createBytesMessage()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html#createConnection()"><B>createConnection()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html#createConnection(java.lang.String, java.lang.String)"><B>createConnection(String, String)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JmsConnectionHandle.html#createConnectionConsumer(javax.jms.Destination, java.lang.String, javax.jms.ServerSessionPool, int)"><B>createConnectionConsumer(Destination, String, ServerSessionPool, int)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsConnectionHandle.html" title="class in bitronix.tm.resource.jms">JmsConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnection.html#createConnectionConsumer(javax.jms.Destination, java.lang.String, javax.jms.ServerSessionPool, int)"><B>createConnectionConsumer(Destination, String, ServerSessionPool, int)</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#createConsumer(javax.jms.Destination)"><B>createConsumer(Destination)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#createConsumer(javax.jms.Destination, java.lang.String)"><B>createConsumer(Destination, String)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#createConsumer(javax.jms.Destination, java.lang.String, boolean)"><B>createConsumer(Destination, String, boolean)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#createConsumer(javax.jms.Destination)"><B>createConsumer(Destination)</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#createConsumer(javax.jms.Destination, java.lang.String)"><B>createConsumer(Destination, String)</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#createConsumer(javax.jms.Destination, java.lang.String, boolean)"><B>createConsumer(Destination, String, boolean)</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JmsConnectionHandle.html#createDurableConnectionConsumer(javax.jms.Topic, java.lang.String, java.lang.String, javax.jms.ServerSessionPool, int)"><B>createDurableConnectionConsumer(Topic, String, String, ServerSessionPool, int)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsConnectionHandle.html" title="class in bitronix.tm.resource.jms">JmsConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnection.html#createDurableConnectionConsumer(javax.jms.Topic, java.lang.String, java.lang.String, javax.jms.ServerSessionPool, int)"><B>createDurableConnectionConsumer(Topic, String, String, ServerSessionPool, int)</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#createDurableSubscriber(javax.jms.Topic, java.lang.String)"><B>createDurableSubscriber(Topic, String)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#createDurableSubscriber(javax.jms.Topic, java.lang.String, java.lang.String, boolean)"><B>createDurableSubscriber(Topic, String, String, boolean)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#createDurableSubscriber(javax.jms.Topic, java.lang.String)"><B>createDurableSubscriber(Topic, String)</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#createDurableSubscriber(javax.jms.Topic, java.lang.String, java.lang.String, boolean)"><B>createDurableSubscriber(Topic, String, String, boolean)</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/AbstractPhaseEngine.html#createJob(bitronix.tm.internal.XAResourceHolderState)"><B>createJob(XAResourceHolderState)</B></A> -
+Method in class bitronix.tm.twopc.<A HREF="./bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc">AbstractPhaseEngine</A>
+<DD>Create a <A HREF="./bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor"><CODE>Job</CODE></A> that is going to execute the phase command on the given resource.
+<DT><A HREF="./bitronix/tm/twopc/Committer.html#createJob(bitronix.tm.internal.XAResourceHolderState)"><B>createJob(XAResourceHolderState)</B></A> -
+Method in class bitronix.tm.twopc.<A HREF="./bitronix/tm/twopc/Committer.html" title="class in bitronix.tm.twopc">Committer</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/Preparer.html#createJob(bitronix.tm.internal.XAResourceHolderState)"><B>createJob(XAResourceHolderState)</B></A> -
+Method in class bitronix.tm.twopc.<A HREF="./bitronix/tm/twopc/Preparer.html" title="class in bitronix.tm.twopc">Preparer</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/Rollbacker.html#createJob(bitronix.tm.internal.XAResourceHolderState)"><B>createJob(XAResourceHolderState)</B></A> -
+Method in class bitronix.tm.twopc.<A HREF="./bitronix/tm/twopc/Rollbacker.html" title="class in bitronix.tm.twopc">Rollbacker</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#createMapMessage()"><B>createMapMessage()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#createMapMessage()"><B>createMapMessage()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#createMessage()"><B>createMessage()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#createMessage()"><B>createMessage()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#createObjectMessage()"><B>createObjectMessage()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#createObjectMessage(java.io.Serializable)"><B>createObjectMessage(Serializable)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#createObjectMessage()"><B>createObjectMessage()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#createObjectMessage(java.io.Serializable)"><B>createObjectMessage(Serializable)</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAResourceProducer.html#createPooledConnection(java.lang.Object, bitronix.tm.resource.common.ResourceBean)"><B>createPooledConnection(Object, ResourceBean)</B></A> -
+Method in interface bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A>
+<DD>Create a <A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that will be placed in an <A HREF="./bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common"><CODE>XAPool</CODE></A>.
+<DT><A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html#createPooledConnection(java.lang.Object, bitronix.tm.resource.common.ResourceBean)"><B>createPooledConnection(Object, ResourceBean)</B></A> -
+Method in class bitronix.tm.resource.ehcache.<A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html" title="class in bitronix.tm.resource.ehcache">EhCacheXAResourceProducer</A>
+<DD>Create a <A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that will be placed in an <A HREF="./bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common"><CODE>XAPool</CODE></A>.
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#createPooledConnection(java.lang.Object, bitronix.tm.resource.common.ResourceBean)"><B>createPooledConnection(Object, ResourceBean)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html#createPooledConnection(java.lang.Object, bitronix.tm.resource.common.ResourceBean)"><B>createPooledConnection(Object, ResourceBean)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#createProducer(javax.jms.Destination)"><B>createProducer(Destination)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#createProducer(javax.jms.Destination)"><B>createProducer(Destination)</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#createQueue(java.lang.String)"><B>createQueue(String)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#createQueue(java.lang.String)"><B>createQueue(String)</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html#createRecoveryXAResourceHolder()"><B>createRecoveryXAResourceHolder()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JmsPooledConnection.html#createRecoveryXAResourceHolder()"><B>createRecoveryXAResourceHolder()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JmsConnectionHandle.html#createSession(boolean, int)"><B>createSession(boolean, int)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsConnectionHandle.html" title="class in bitronix.tm.resource.jms">JmsConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JmsPooledConnection.html#createSession(boolean, int)"><B>createSession(boolean, int)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnection.html#createSession(boolean, int)"><B>createSession(boolean, int)</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#createStatement()"><B>createStatement()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#createStatement(int, int)"><B>createStatement(int, int)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#createStatement(int, int, int)"><B>createStatement(int, int, int)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#createStreamMessage()"><B>createStreamMessage()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#createStreamMessage()"><B>createStreamMessage()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html#createSubcontext(javax.naming.Name)"><B>createSubcontext(Name)</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html#createSubcontext(java.lang.String)"><B>createSubcontext(String)</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#createTemporaryQueue()"><B>createTemporaryQueue()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#createTemporaryQueue()"><B>createTemporaryQueue()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#createTemporaryTopic()"><B>createTemporaryTopic()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#createTemporaryTopic()"><B>createTemporaryTopic()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#createTextMessage()"><B>createTextMessage()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#createTextMessage(java.lang.String)"><B>createTextMessage(String)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#createTextMessage()"><B>createTextMessage()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#createTextMessage(java.lang.String)"><B>createTextMessage(String)</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#createTopic(java.lang.String)"><B>createTopic(String)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#createTopic(java.lang.String)"><B>createTopic(String)</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html#createXAConnection()"><B>createXAConnection()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms">JndiXAConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html#createXAConnection(java.lang.String, java.lang.String)"><B>createXAConnection(String, String)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms">JndiXAConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html#createXAConnection()"><B>createXAConnection()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html#createXAConnection(java.lang.String, java.lang.String)"><B>createXAConnection(String, String)</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnection.html#createXASession()"><B>createXASession()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/CryptoEngine.html#crypt(java.lang.String, java.lang.String)"><B>crypt(String, String)</B></A> -
+Static method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/CryptoEngine.html" title="class in bitronix.tm.utils">CryptoEngine</A>
+<DD>Crypt the given data using the given cipher.
+<DT><A HREF="./bitronix/tm/utils/CryptoEngine.html" title="class in bitronix.tm.utils"><B>CryptoEngine</B></A> - Class in <A HREF="./bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A><DD>Simple crypto helper that uses symetric keys to crypt and decrypt resources passwords.<DT><A HREF="./bitronix/tm/utils/CryptoEngine.html#CryptoEngine()"><B>CryptoEngine()</B></A> -
+Constructor for class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/CryptoEngine.html" title="class in bitronix.tm.utils">CryptoEngine</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/TransactionLogHeader.html#CURRENT_POSITION_HEADER"><B>CURRENT_POSITION_HEADER</B></A> -
+Static variable in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal">TransactionLogHeader</A>
+<DD>Position of the current log position in the header.
+<DT><A HREF="./bitronix/tm/resource/common/TransactionContextHelper.html#currentTransaction()"><B>currentTransaction()</B></A> -
+Static method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/TransactionContextHelper.html" title="class in bitronix.tm.resource.common">TransactionContextHelper</A>
+<DD>Get the transaction running on the current thead context.
+</DL>
+<HR>
+<A NAME="_D_"><!-- --></A><H2>
+<B>D</B></H2>
+<DL>
+<DT><A HREF="./bitronix/tm/recovery/DanglingTransaction.html" title="class in bitronix.tm.recovery"><B>DanglingTransaction</B></A> - Class in <A HREF="./bitronix/tm/recovery/package-summary.html">bitronix.tm.recovery</A><DD>Simple bean containing a unique resource name paired with a XID corresponding to a branch on that resource.<DT><A HREF="./bitronix/tm/recovery/DanglingTransaction.html#DanglingTransaction(java.lang.String, javax.transaction.xa.Xid)"><B>DanglingTransaction(String, Xid) [...]
+Constructor for class bitronix.tm.recovery.<A HREF="./bitronix/tm/recovery/DanglingTransaction.html" title="class in bitronix.tm.recovery">DanglingTransaction</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/Console.html#dateFormatter"><B>dateFormatter</B></A> -
+Static variable in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/Console.html" title="class in bitronix.tm.gui">Console</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Decoder.html#decodeHeaderState(byte)"><B>decodeHeaderState(byte)</B></A> -
+Static method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Decoder.html" title="class in bitronix.tm.utils">Decoder</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Decoder.html#decodePrepareVote(int)"><B>decodePrepareVote(int)</B></A> -
+Static method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Decoder.html" title="class in bitronix.tm.utils">Decoder</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Decoder.html" title="class in bitronix.tm.utils"><B>Decoder</B></A> - Class in <A HREF="./bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A><DD>Constant to string decoder.<DT><A HREF="./bitronix/tm/utils/Decoder.html#Decoder()"><B>Decoder()</B></A> -
+Constructor for class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Decoder.html" title="class in bitronix.tm.utils">Decoder</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Decoder.html#decodeStatus(int)"><B>decodeStatus(int)</B></A> -
+Static method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Decoder.html" title="class in bitronix.tm.utils">Decoder</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Decoder.html#decodeXAExceptionErrorCode(javax.transaction.xa.XAException)"><B>decodeXAExceptionErrorCode(XAException)</B></A> -
+Static method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Decoder.html" title="class in bitronix.tm.utils">Decoder</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Decoder.html#decodeXAResourceFlag(int)"><B>decodeXAResourceFlag(int)</B></A> -
+Static method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Decoder.html" title="class in bitronix.tm.utils">Decoder</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Decoder.html#decodeXAStatefulHolderState(int)"><B>decodeXAStatefulHolderState(int)</B></A> -
+Static method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Decoder.html" title="class in bitronix.tm.utils">Decoder</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/CryptoEngine.html#decrypt(java.lang.String, java.lang.String)"><B>decrypt(String, String)</B></A> -
+Static method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/CryptoEngine.html" title="class in bitronix.tm.utils">CryptoEngine</A>
+<DD>Decrypt using the given cipher the given base64-encoded, crypted data.
+<DT><A HREF="./bitronix/tm/utils/Scheduler.html#DEFAULT_POSITION"><B>DEFAULT_POSITION</B></A> -
+Static variable in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils">Scheduler</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Scheduler.html#DEFAULT_POSITION_KEY"><B>DEFAULT_POSITION_KEY</B></A> -
+Static variable in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils">Scheduler</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/DeferredReleaseSynchronization.html" title="class in bitronix.tm.resource.common"><B>DeferredReleaseSynchronization</B></A> - Class in <A HREF="./bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A><DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Synchronization.html?is-external=true" title="class or interface in javax.transaction"><CODE>Synchronization</CODE></A> used to release a <A HREF="./bi [...]
+Constructor for class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/DeferredReleaseSynchronization.html" title="class in bitronix.tm.resource.common">DeferredReleaseSynchronization</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/XAResourceManager.html#delist(bitronix.tm.internal.XAResourceHolderState, int)"><B>delist(XAResourceHolderState, int)</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal">XAResourceManager</A>
+<DD>Delist the specified <A HREF="./bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A>.
+<DT><A HREF="./bitronix/tm/resource/common/TransactionContextHelper.html#delistFromCurrentTransaction(bitronix.tm.resource.common.XAResourceHolder)"><B>delistFromCurrentTransaction(XAResourceHolder)</B></A> -
+Static method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/TransactionContextHelper.html" title="class in bitronix.tm.resource.common">TransactionContextHelper</A>
+<DD>Delist the <A HREF="./bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> from the current transaction or do nothing if there is no global transaction
+ context for this thread.
+<DT><A HREF="./bitronix/tm/BitronixTransaction.html#delistResource(javax.transaction.xa.XAResource, int)"><B>delistResource(XAResource, int)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A>
+<DD>
+<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html#destroySubcontext(javax.naming.Name)"><B>destroySubcontext(Name)</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html#destroySubcontext(java.lang.String)"><B>destroySubcontext(String)</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/DiskForceBatcherThread.html" title="class in bitronix.tm.journal"><B>DiskForceBatcherThread</B></A> - Class in <A HREF="./bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A><DD>Thread that executes disk force batches.<DT><A HREF="./bitronix/tm/journal/DiskForceWaitQueue.html" title="class in bitronix.tm.journal"><B>DiskForceWaitQueue</B></A> - Class in <A HREF="./bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A><DD><A HREF= [...]
+Constructor for class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/DiskForceWaitQueue.html" title="class in bitronix.tm.journal">DiskForceWaitQueue</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/DiskJournal.html" title="class in bitronix.tm.journal"><B>DiskJournal</B></A> - Class in <A HREF="./bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A><DD>Simple implementation of a journal that writes on a two-files disk log.<DT><A HREF="./bitronix/tm/journal/DiskJournal.html#DiskJournal()"><B>DiskJournal()</B></A> -
+Constructor for class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/DiskJournal.html" title="class in bitronix.tm.journal">DiskJournal</A>
+<DD>Create an uninitialized disk journal.
+<DT><A HREF="./bitronix/tm/journal/TransactionLogAppender.html#doForce()"><B>doForce()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal">TransactionLogAppender</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms"><B>DualSessionWrapper</B></A> - Class in <A HREF="./bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A><DD>JMS Session wrapper that will send calls to either a XASession or to a non-XA Session depending on the calling
+ context.<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#DualSessionWrapper(bitronix.tm.resource.jms.JmsPooledConnection, boolean, int)"><B>DualSessionWrapper(JmsPooledConnection, boolean, int)</B></A> -
+Constructor for class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransactionManager.html#dumpTransactionContexts()"><B>dumpTransactionContexts()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm">BitronixTransactionManager</A>
+<DD>Dump an overview of all running transactions as debug logs.
+<DT><A HREF="./bitronix/tm/gui/DuplicatedGtridTableModel.html" title="class in bitronix.tm.gui"><B>DuplicatedGtridTableModel</B></A> - Class in <A HREF="./bitronix/tm/gui/package-summary.html">bitronix.tm.gui</A><DD><DT><A HREF="./bitronix/tm/gui/DuplicatedGtridTableModel.html#DuplicatedGtridTableModel(java.util.Map)"><B>DuplicatedGtridTableModel(Map)</B></A> -
+Constructor for class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/DuplicatedGtridTableModel.html" title="class in bitronix.tm.gui">DuplicatedGtridTableModel</A>
+<DD>
+</DL>
+<HR>
+<A NAME="_E_"><!-- --></A><H2>
+<B>E</B></H2>
+<DL>
+<DT><A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html" title="class in bitronix.tm.resource.ehcache"><B>EhCacheXAResourceHolder</B></A> - Class in <A HREF="./bitronix/tm/resource/ehcache/package-summary.html">bitronix.tm.resource.ehcache</A><DD>EHCache implementation of BTM's XAResourceHolder.<DT><A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html#EhCacheXAResourceHolder(javax.transaction.xa.XAResource, bitronix.tm.resource.common.ResourceBean)"><B>EhC [...]
+Constructor for class bitronix.tm.resource.ehcache.<A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html" title="class in bitronix.tm.resource.ehcache">EhCacheXAResourceHolder</A>
+<DD>Create a new EhCacheXAResourceHolder for a particular XAResource
+<DT><A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html" title="class in bitronix.tm.resource.ehcache"><B>EhCacheXAResourceProducer</B></A> - Class in <A HREF="./bitronix/tm/resource/ehcache/package-summary.html">bitronix.tm.resource.ehcache</A><DD>EHCache implementation of BTM's XAResourceProducer.<DT><A HREF="./bitronix/tm/utils/Encoder.html" title="class in bitronix.tm.utils"><B>Encoder</B></A> - Class in <A HREF="./bitronix/tm/utils/package-summary.html">bitronix.t [...]
+Constructor for class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Encoder.html" title="class in bitronix.tm.utils">Encoder</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/XAResourceHolderState.html#end(int)"><B>end(int)</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#end(javax.transaction.xa.Xid, int)"><B>end(Xid, int)</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html#end(javax.transaction.xa.Xid, int)"><B>end(Xid, int)</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/TransactionLogAppender.html#END_RECORD"><B>END_RECORD</B></A> -
+Static variable in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal">TransactionLogAppender</A>
+<DD>int-encoded "xntB" ASCII string.
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#ENDED"><B>ENDED</B></A> -
+Static variable in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html#ENDED"><B>ENDED</B></A> -
+Static variable in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAResourceProducer.html#endRecovery()"><B>endRecovery()</B></A> -
+Method in interface bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A>
+<DD>Release internal resources held after call to <code>startRecovery()</code>.
+<DT><A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html#endRecovery()"><B>endRecovery()</B></A> -
+Method in class bitronix.tm.resource.ehcache.<A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html" title="class in bitronix.tm.resource.ehcache">EhCacheXAResourceProducer</A>
+<DD>Release internal resources held after call to <code>startRecovery()</code>.
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#endRecovery()"><B>endRecovery()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html#endRecovery()"><B>endRecovery()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/XAResourceManager.html#enlist(bitronix.tm.internal.XAResourceHolderState)"><B>enlist(XAResourceHolderState)</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal">XAResourceManager</A>
+<DD>Enlist the specified <A HREF="./bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A>.
+<DT><A HREF="./bitronix/tm/resource/common/TransactionContextHelper.html#enlistInCurrentTransaction(bitronix.tm.resource.common.XAResourceHolder)"><B>enlistInCurrentTransaction(XAResourceHolder)</B></A> -
+Static method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/TransactionContextHelper.html" title="class in bitronix.tm.resource.common">TransactionContextHelper</A>
+<DD>Enlist the <A HREF="./bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> in the current transaction or do nothing if there is no global transaction
+ context for this thread.
+<DT><A HREF="./bitronix/tm/BitronixTransaction.html#enlistResource(javax.transaction.xa.XAResource)"><B>enlistResource(XAResource)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#enlistResource()"><B>enlistResource()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>Enlist this session into the current transaction if automaticEnlistingEnabled = true for this resource.
+<DT><A HREF="./bitronix/tm/resource/jms/MessageConsumerWrapper.html#enlistResource()"><B>enlistResource()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms">MessageConsumerWrapper</A>
+<DD>Enlist this session into the current transaction if automaticEnlistingEnabled = true for this resource.
+<DT><A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html#enlistResource()"><B>enlistResource()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms">MessageProducerWrapper</A>
+<DD>Enlist this session into the current transaction if automaticEnlistingEnabled = true for this resource.
+<DT><A HREF="./bitronix/tm/journal/DiskForceBatcherThread.html#enqueue(bitronix.tm.journal.TransactionLogAppender)"><B>enqueue(TransactionLogAppender)</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/DiskForceBatcherThread.html" title="class in bitronix.tm.journal">DiskForceBatcherThread</A>
+<DD>Add the TransactionLogAppender to the wait queue and wait until the disk force is done.
+<DT><A HREF="./bitronix/tm/journal/DiskForceWaitQueue.html#enqueue(bitronix.tm.journal.TransactionLogAppender)"><B>enqueue(TransactionLogAppender)</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/DiskForceWaitQueue.html" title="class in bitronix.tm.journal">DiskForceWaitQueue</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransaction.html#equals(java.lang.Object)"><B>equals(Object)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixXid.html#equals(java.lang.Object)"><B>equals(Object)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A>
+<DD>Compare two XIDs for equality.
+<DT><A HREF="./bitronix/tm/internal/XAResourceHolderState.html#equals(java.lang.Object)"><B>equals(Object)</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A>
+<DD>
+<DT><A HREF="./bitronix/tm/recovery/DanglingTransaction.html#equals(java.lang.Object)"><B>equals(Object)</B></A> -
+Method in class bitronix.tm.recovery.<A HREF="./bitronix/tm/recovery/DanglingTransaction.html" title="class in bitronix.tm.recovery">DanglingTransaction</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#equals(java.lang.Object)"><B>equals(Object)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A>
+<DD>Overridden equals() that takes all PreparedStatement attributes into
+ account.
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html#equals(java.lang.Object)"><B>equals(Object)</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/MessageProducerConsumerKey.html#equals(java.lang.Object)"><B>equals(Object)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageProducerConsumerKey.html" title="class in bitronix.tm.resource.jms">MessageProducerConsumerKey</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Uid.html#equals(java.lang.Object)"><B>equals(Object)</B></A> -
+Method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A>
+<DD>
+<DT><A HREF="./bitronix/tm/timer/PoolShrinkingTask.html#execute()"><B>execute()</B></A> -
+Method in class bitronix.tm.timer.<A HREF="./bitronix/tm/timer/PoolShrinkingTask.html" title="class in bitronix.tm.timer">PoolShrinkingTask</A>
+<DD>
+<DT><A HREF="./bitronix/tm/timer/RecoveryTask.html#execute()"><B>execute()</B></A> -
+Method in class bitronix.tm.timer.<A HREF="./bitronix/tm/timer/RecoveryTask.html" title="class in bitronix.tm.timer">RecoveryTask</A>
+<DD>
+<DT><A HREF="./bitronix/tm/timer/Task.html#execute()"><B>execute()</B></A> -
+Method in class bitronix.tm.timer.<A HREF="./bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer">Task</A>
+<DD>
+<DT><A HREF="./bitronix/tm/timer/TransactionTimeoutTask.html#execute()"><B>execute()</B></A> -
+Method in class bitronix.tm.timer.<A HREF="./bitronix/tm/timer/TransactionTimeoutTask.html" title="class in bitronix.tm.timer">TransactionTimeoutTask</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/executor/Job.html#execute()"><B>execute()</B></A> -
+Method in class bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/AbstractPhaseEngine.html#executePhase(bitronix.tm.internal.XAResourceManager, boolean)"><B>executePhase(XAResourceManager, boolean)</B></A> -
+Method in class bitronix.tm.twopc.<A HREF="./bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc">AbstractPhaseEngine</A>
+<DD>Execute the phase.
+<DT><A HREF="./bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor"><B>Executor</B></A> - Interface in <A HREF="./bitronix/tm/twopc/executor/package-summary.html">bitronix.tm.twopc.executor</A><DD>Thread pool interface required by the two-phase commit logic.<DT><A HREF="./bitronix/tm/utils/Uid.html#extractSequence()"><B>extractSequence()</B></A> -
+Method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Uid.html#extractServerId()"><B>extractServerId()</B></A> -
+Method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Uid.html#extractTimestamp()"><B>extractTimestamp()</B></A> -
+Method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A>
+<DD>
+</DL>
+<HR>
+<A NAME="_F_"><!-- --></A><H2>
+<B>F</B></H2>
+<DL>
+<DT><A HREF="./bitronix/tm/gui/RawTransactionTableModel.html#filterByGtrid(java.lang.String)"><B>filterByGtrid(String)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/RawTransactionTableModel.html" title="class in bitronix.tm.gui">RawTransactionTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAPool.html#findXAResourceHolder(javax.transaction.xa.XAResource)"><B>findXAResourceHolder(XAResource)</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAResourceProducer.html#findXAResourceHolder(javax.transaction.xa.XAResource)"><B>findXAResourceHolder(XAResource)</B></A> -
+Method in interface bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A>
+<DD>Find in the <A HREF="./bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this <A HREF="./bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> the one which this
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> belongs to.
+<DT><A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html#findXAResourceHolder(javax.transaction.xa.XAResource)"><B>findXAResourceHolder(XAResource)</B></A> -
+Method in class bitronix.tm.resource.ehcache.<A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html" title="class in bitronix.tm.resource.ehcache">EhCacheXAResourceProducer</A>
+<DD>Find in the <A HREF="./bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this <A HREF="./bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> the one which this
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> belongs to.
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#findXAResourceHolder(javax.transaction.xa.XAResource)"><B>findXAResourceHolder(XAResource)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html#findXAResourceHolder(javax.transaction.xa.XAResource)"><B>findXAResourceHolder(XAResource)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/ResourceRegistrar.html#findXAResourceHolder(javax.transaction.xa.XAResource)"><B>findXAResourceHolder(XAResource)</B></A> -
+Static method in class bitronix.tm.resource.<A HREF="./bitronix/tm/resource/ResourceRegistrar.html" title="class in bitronix.tm.resource">ResourceRegistrar</A>
+<DD>Find in the registered <A HREF="./bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>s the <A HREF="./bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> from which the specified <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.tr [...]
+<DT><A HREF="./bitronix/tm/internal/XAResourceManager.html#findXAResourceHolderState(javax.transaction.xa.XAResource)"><B>findXAResourceHolderState(XAResource)</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal">XAResourceManager</A>
+<DD>Look if an <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> has already been enlisted.
+<DT><A HREF="./bitronix/tm/journal/DiskJournal.html#force()"><B>force()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/DiskJournal.html" title="class in bitronix.tm.journal">DiskJournal</A>
+<DD>Force active log file to synchronize with the underlying disk device.
+<DT><A HREF="./bitronix/tm/journal/Journal.html#force()"><B>force()</B></A> -
+Method in interface bitronix.tm.journal.<A HREF="./bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A>
+<DD>Force journal to synchronize with permanent storage.
+<DT><A HREF="./bitronix/tm/journal/NullJournal.html#force()"><B>force()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/NullJournal.html" title="class in bitronix.tm.journal">NullJournal</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/TransactionLogAppender.html#force()"><B>force()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal">TransactionLogAppender</A>
+<DD>Force flushing the logs to disk
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#forget(javax.transaction.xa.Xid)"><B>forget(Xid)</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html#forget(javax.transaction.xa.Xid)"><B>forget(Xid)</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixXid.html#FORMAT_ID"><B>FORMAT_ID</B></A> -
+Static variable in class bitronix.tm.<A HREF="./bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A>
+<DD>int-encoded "Btnx" string.
+<DT><A HREF="./bitronix/tm/journal/TransactionLogHeader.html#FORMAT_ID_HEADER"><B>FORMAT_ID_HEADER</B></A> -
+Static variable in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal">TransactionLogHeader</A>
+<DD>Position of the format ID in the header (see <A HREF="./bitronix/tm/BitronixXid.html#FORMAT_ID"><CODE>BitronixXid.FORMAT_ID</CODE></A>).
+</DL>
+<HR>
+<A NAME="_G_"><!-- --></A><H2>
+<B>G</B></H2>
+<DL>
+<DT><A HREF="./bitronix/tm/utils/UidGenerator.html#generateUid()"><B>generateUid()</B></A> -
+Static method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/UidGenerator.html" title="class in bitronix.tm.utils">UidGenerator</A>
+<DD>Generate a UID, globally unique.
+<DT><A HREF="./bitronix/tm/utils/UidGenerator.html#generateXid(bitronix.tm.utils.Uid)"><B>generateXid(Uid)</B></A> -
+Static method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/UidGenerator.html" title="class in bitronix.tm.utils">UidGenerator</A>
+<DD>Generate a XID with the specified globalTransactionId.
+<DT><A HREF="./bitronix/tm/resource/jdbc/LruStatementCache.html#get(bitronix.tm.resource.jdbc.JdbcPreparedStatementHandle)"><B>get(JdbcPreparedStatementHandle)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/LruStatementCache.html" title="class in bitronix.tm.resource.jdbc">LruStatementCache</A>
+<DD>The provided key is just a 'shell' JdbcPreparedStatementHandle, it comes
+ in with no actual 'delegate' PreparedStatement.
+<DT><A HREF="./bitronix/tm/resource/ResourceRegistrar.html#get(java.lang.String)"><B>get(String)</B></A> -
+Static method in class bitronix.tm.resource.<A HREF="./bitronix/tm/resource/ResourceRegistrar.html" title="class in bitronix.tm.resource">ResourceRegistrar</A>
+<DD>Get a registered <A HREF="./bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>.
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#getAcknowledgeMode()"><B>getAcknowledgeMode()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#getAcknowledgeMode()"><B>getAcknowledgeMode()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#getAcquireIncrement()"><B>getAcquireIncrement()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html#getAcquisitionDate()"><B>getAcquisitionDate()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html#getAcquisitionDate()"><B>getAcquisitionDate()</B></A> -
+Method in interface bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jdbc">JdbcPooledConnectionMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JmsPooledConnection.html#getAcquisitionDate()"><B>getAcquisitionDate()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JmsPooledConnectionMBean.html#getAcquisitionDate()"><B>getAcquisitionDate()</B></A> -
+Method in interface bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jms">JmsPooledConnectionMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#getAcquisitionInterval()"><B>getAcquisitionInterval()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#getAcquisitionTimeout()"><B>getAcquisitionTimeout()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#getAllowLocalTransactions()"><B>getAllowLocalTransactions()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/XAResourceManager.html#getAllResources()"><B>getAllResources()</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal">XAResourceManager</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#getApplyTransactionTimeout()"><B>getApplyTransactionTimeout()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Uid.html#getArray()"><B>getArray()</B></A> -
+Method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#getAutoCommit()"><B>getAutoCommit()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#getAutomaticEnlistingEnabled()"><B>getAutomaticEnlistingEnabled()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/Configuration.html#getBackgroundRecoveryInterval()"><B>getBackgroundRecoveryInterval()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD><B>Deprecated.</B> <I>superceded by #getBackgroundRecoveryIntervalSeconds().</I>
+<DT><A HREF="./bitronix/tm/Configuration.html#getBackgroundRecoveryIntervalSeconds()"><B>getBackgroundRecoveryIntervalSeconds()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Interval in seconds at which to run the recovery process in the background.
+<DT><A HREF="./bitronix/tm/BitronixXid.html#getBranchQualifier()"><B>getBranchQualifier()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A>
+<DD>Get the BQUAL of the XID.
+<DT><A HREF="./bitronix/tm/BitronixXid.html#getBranchQualifierUid()"><B>getBranchQualifierUid()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Scheduler.html#getByNaturalOrderForPosition(java.lang.Object)"><B>getByNaturalOrderForPosition(Object)</B></A> -
+Method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils">Scheduler</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Scheduler.html#getByReverseOrderForPosition(java.lang.Object)"><B>getByReverseOrderForPosition(Object)</B></A> -
+Method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils">Scheduler</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html#getCachedStatement(bitronix.tm.resource.jdbc.JdbcPreparedStatementHandle)"><B>getCachedStatement(JdbcPreparedStatementHandle)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A>
+<DD>Get a PreparedStatement from cache.
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html#getCacheProducersConsumers()"><B>getCacheProducersConsumers()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/ResourcesTreeModel.html#getChild(java.lang.Object, int)"><B>getChild(Object, int)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/ResourcesTreeModel.html" title="class in bitronix.tm.gui">ResourcesTreeModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/ResourcesTreeModel.html#getChildCount(java.lang.Object)"><B>getChildCount(Object)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/ResourcesTreeModel.html" title="class in bitronix.tm.gui">ResourcesTreeModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/ClassLoaderUtils.html#getClassLoader()"><B>getClassLoader()</B></A> -
+Static method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/ClassLoaderUtils.html" title="class in bitronix.tm.utils">ClassLoaderUtils</A>
+<DD>Get the class loader which can be used to generate proxies without leaking memory.
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#getClassName()"><B>getClassName()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JmsConnectionHandle.html#getClientID()"><B>getClientID()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsConnectionHandle.html" title="class in bitronix.tm.resource.jms">JmsConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnection.html#getClientID()"><B>getClientID()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/PendingTransactionTableModel.html#getColumnClass(int)"><B>getColumnClass(int)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/PendingTransactionTableModel.html" title="class in bitronix.tm.gui">PendingTransactionTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/RawTransactionTableModel.html#getColumnClass(int)"><B>getColumnClass(int)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/RawTransactionTableModel.html" title="class in bitronix.tm.gui">RawTransactionTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/PendingTransactionTableModel.html#getColumnCount()"><B>getColumnCount()</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/PendingTransactionTableModel.html" title="class in bitronix.tm.gui">PendingTransactionTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/RawTransactionTableModel.html#getColumnCount()"><B>getColumnCount()</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/RawTransactionTableModel.html" title="class in bitronix.tm.gui">RawTransactionTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/DuplicatedGtridTableModel.html#getColumnName(int)"><B>getColumnName(int)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/DuplicatedGtridTableModel.html" title="class in bitronix.tm.gui">DuplicatedGtridTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/PendingTransactionTableModel.html#getColumnName(int)"><B>getColumnName(int)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/PendingTransactionTableModel.html" title="class in bitronix.tm.gui">PendingTransactionTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/RawTransactionTableModel.html#getColumnName(int)"><B>getColumnName(int)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/RawTransactionTableModel.html" title="class in bitronix.tm.gui">RawTransactionTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/recovery/Recoverer.html#getCommittedCount()"><B>getCommittedCount()</B></A> -
+Method in class bitronix.tm.recovery.<A HREF="./bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A>
+<DD>Get the amount of transactions committed during the last recovery run.
+<DT><A HREF="./bitronix/tm/recovery/RecovererMBean.html#getCommittedCount()"><B>getCommittedCount()</B></A> -
+Method in interface bitronix.tm.recovery.<A HREF="./bitronix/tm/recovery/RecovererMBean.html" title="interface in bitronix.tm.recovery">RecovererMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/recovery/Recoverer.html#getCompletionException()"><B>getCompletionException()</B></A> -
+Method in class bitronix.tm.recovery.<A HREF="./bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A>
+<DD>Get the exception reported when recovery failed.
+<DT><A HREF="./bitronix/tm/recovery/RecovererMBean.html#getCompletionException()"><B>getCompletionException()</B></A> -
+Method in interface bitronix.tm.recovery.<A HREF="./bitronix/tm/recovery/RecovererMBean.html" title="interface in bitronix.tm.recovery">RecovererMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/TransactionManagerServices.html#getConfiguration()"><B>getConfiguration()</B></A> -
+Static method in class bitronix.tm.<A HREF="./bitronix/tm/TransactionManagerServices.html" title="class in bitronix.tm">TransactionManagerServices</A>
+<DD>Create the configuration of all the components of the transaction manager.
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#getConnection()"><B>getConnection()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html#getConnection()"><B>getConnection()</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html#getConnection()"><B>getConnection()</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#getConnection()"><B>getConnection()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#getConnection(java.lang.String, java.lang.String)"><B>getConnection(String, String)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html#getConnectionFactoryClassName()"><B>getConnectionFactoryClassName()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/RecoveryXAResourceHolder.html#getConnectionHandle()"><B>getConnectionHandle()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common">RecoveryXAResourceHolder</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAPool.html#getConnectionHandle()"><B>getConnectionHandle()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAPool.html#getConnectionHandle(boolean)"><B>getConnectionHandle(boolean)</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html#getConnectionHandle()"><B>getConnectionHandle()</B></A> -
+Method in interface bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A>
+<DD>Create a disposable handler used to drive a pooled instance of
+ <A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>.
+<DT><A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html#getConnectionHandle()"><B>getConnectionHandle()</B></A> -
+Method in class bitronix.tm.resource.ehcache.<A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html" title="class in bitronix.tm.resource.ehcache">EhCacheXAResourceHolder</A>
+<DD>Create a disposable handler used to drive a pooled instance of
+ <A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>.
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html#getConnectionHandle()"><B>getConnectionHandle()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#getConnectionHandle()"><B>getConnectionHandle()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JmsPooledConnection.html#getConnectionHandle()"><B>getConnectionHandle()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/TransactionLogRecord.html#getCrc32()"><B>getCrc32()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransactionManager.html#getCurrentTransaction()"><B>getCurrentTransaction()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm">BitronixTransactionManager</A>
+<DD>Get the transaction currently registered on the current thread context.
+<DT><A HREF="./bitronix/tm/journal/TransactionLogAppender.html#getCursor()"><B>getCursor()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal">TransactionLogAppender</A>
+<DD>Creates a cursor on this journal file allowing iteration of its records.
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#getCursorHoldability()"><B>getCursorHoldability()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/Configuration.html#getDefaultTransactionTimeout()"><B>getDefaultTransactionTimeout()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Default transaction timeout in seconds.
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#getDeferConnectionRelease()"><B>getDeferConnectionRelease()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#getDelegateUnchecked()"><B>getDelegateUnchecked()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html#getDeliveryMode()"><B>getDeliveryMode()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms">MessageProducerWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html#getDestination()"><B>getDestination()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms">MessageProducerWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html#getDisableMessageID()"><B>getDisableMessageID()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms">MessageProducerWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html#getDisableMessageTimestamp()"><B>getDisableMessageTimestamp()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms">MessageProducerWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#getDriverClassName()"><B>getDriverClassName()</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXADataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#getDriverProperties()"><B>getDriverProperties()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/TransactionLogRecord.html#getEndRecord()"><B>getEndRecord()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransaction.html#getEnlistedResourcesUniqueNames()"><B>getEnlistedResourcesUniqueNames()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransactionMBean.html#getEnlistedResourcesUniqueNames()"><B>getEnlistedResourcesUniqueNames()</B></A> -
+Method in interface bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionMBean.html" title="interface in bitronix.tm">BitronixTransactionMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html#getEnvironment()"><B>getEnvironment()</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JmsConnectionHandle.html#getExceptionListener()"><B>getExceptionListener()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsConnectionHandle.html" title="class in bitronix.tm.resource.jms">JmsConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnection.html#getExceptionListener()"><B>getExceptionListener()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/BitronixMultiSystemException.html#getExceptions()"><B>getExceptions()</B></A> -
+Method in exception bitronix.tm.internal.<A HREF="./bitronix/tm/internal/BitronixMultiSystemException.html" title="class in bitronix.tm.internal">BitronixMultiSystemException</A>
+<DD>Get the list of exceptions that have been thrown during execution.
+<DT><A HREF="./bitronix/tm/twopc/PhaseException.html#getExceptions()"><B>getExceptions()</B></A> -
+Method in exception bitronix.tm.twopc.<A HREF="./bitronix/tm/twopc/PhaseException.html" title="class in bitronix.tm.twopc">PhaseException</A>
+<DD>Get the list of exceptions that have been thrown during a phase execution.
+<DT><A HREF="./bitronix/tm/recovery/Recoverer.html#getExecutionsCount()"><B>getExecutionsCount()</B></A> -
+Method in class bitronix.tm.recovery.<A HREF="./bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A>
+<DD>Get how many times the recoverer has run since the transaction manager started.
+<DT><A HREF="./bitronix/tm/recovery/RecovererMBean.html#getExecutionsCount()"><B>getExecutionsCount()</B></A> -
+Method in interface bitronix.tm.recovery.<A HREF="./bitronix/tm/recovery/RecovererMBean.html" title="interface in bitronix.tm.recovery">RecovererMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/timer/Task.html#getExecutionTime()"><B>getExecutionTime()</B></A> -
+Method in class bitronix.tm.timer.<A HREF="./bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer">Task</A>
+<DD>
+<DT><A HREF="./bitronix/tm/TransactionManagerServices.html#getExecutor()"><B>getExecutor()</B></A> -
+Static method in class bitronix.tm.<A HREF="./bitronix/tm/TransactionManagerServices.html" title="class in bitronix.tm">TransactionManagerServices</A>
+<DD>Create the 2PC executor.
+<DT><A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html#getExtraJndiProperties()"><B>getExtraJndiProperties()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms">JndiXAConnectionFactory</A>
+<DD>The extra JNDI environment properties added the the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/InitialContext.html?is-external=true" title="class or interface in javax.naming"><CODE>InitialContext</CODE></A>'s environment upon creation.
+<DT><A HREF="./bitronix/tm/BitronixXid.html#getFormatId()"><B>getFormatId()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A>
+<DD>Get Bitronix XID format ID.
+<DT><A HREF="./bitronix/tm/journal/TransactionLogHeader.html#getFormatId()"><B>getFormatId()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal">TransactionLogHeader</A>
+<DD>Get FORMAT_ID_HEADER.
+<DT><A HREF="./bitronix/tm/twopc/executor/Job.html#getFuture()"><B>getFuture()</B></A> -
+Method in class bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixXid.html#getGlobalTransactionId()"><B>getGlobalTransactionId()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A>
+<DD>Get the GTRID of the XID.
+<DT><A HREF="./bitronix/tm/BitronixXid.html#getGlobalTransactionIdUid()"><B>getGlobalTransactionIdUid()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A>
+<DD>
+<DT><A HREF="./bitronix/tm/Configuration.html#getGracefulShutdownInterval()"><B>getGracefulShutdownInterval()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Maximum amount of seconds the TM will wait for transactions to get done before aborting them at shutdown time.
+<DT><A HREF="./bitronix/tm/BitronixTransaction.html#getGtrid()"><B>getGtrid()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransactionMBean.html#getGtrid()"><B>getGtrid()</B></A> -
+Method in interface bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionMBean.html" title="interface in bitronix.tm">BitronixTransactionMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/XAResourceManager.html#getGtrid()"><B>getGtrid()</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal">XAResourceManager</A>
+<DD>Get the GTRID of the transaction the <A HREF="./bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal"><CODE>XAResourceManager</CODE></A> instance is attached to.
+<DT><A HREF="./bitronix/tm/journal/TransactionLogRecord.html#getGtrid()"><B>getGtrid()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/TransactionLogAppender.html#getHeader()"><B>getHeader()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal">TransactionLogAppender</A>
+<DD>Return a <A HREF="./bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal"><CODE>TransactionLogHeader</CODE></A> that allows reading and controlling the log file's header.
+<DT><A HREF="./bitronix/tm/journal/TransactionLogRecord.html#getHeaderLength()"><B>getHeaderLength()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/XAResourceHolderState.html#getIgnoreRecoveryFailures()"><B>getIgnoreRecoveryFailures()</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#getIgnoreRecoveryFailures()"><B>getIgnoreRecoveryFailures()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/ResourcesTreeModel.html#getIndexOfChild(java.lang.Object, java.lang.Object)"><B>getIndexOfChild(Object, Object)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/ResourcesTreeModel.html" title="class in bitronix.tm.gui">ResourcesTreeModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransactionManager.html#getInFlightTransactions()"><B>getInFlightTransactions()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm">BitronixTransactionManager</A>
+<DD>Return all in-flight transactions.
+<DT><A HREF="./bitronix/tm/jndi/BitronixInitialContextFactory.html#getInitialContext(java.util.Hashtable)"><B>getInitialContext(Hashtable)</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixInitialContextFactory.html" title="class in bitronix.tm.jndi">BitronixInitialContextFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html#getInitialContextFactory()"><B>getInitialContextFactory()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms">JndiXAConnectionFactory</A>
+<DD>The <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#INITIAL_CONTEXT_FACTORY" title="class or interface in javax.naming"><CODE>Context.INITIAL_CONTEXT_FACTORY</CODE></A> of the JNDI <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> used to fetch the <CODE>XAConnectionFactory</CODE>.
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#getInPoolSize()"><B>getInPoolSize()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html#getInPoolSize()"><B>getInPoolSize()</B></A> -
+Method in interface bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html" title="interface in bitronix.tm.resource.jdbc">PoolingDataSourceMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html#getInPoolSize()"><B>getInPoolSize()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html#getInPoolSize()"><B>getInPoolSize()</B></A> -
+Method in interface bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" title="interface in bitronix.tm.resource.jms">PoolingConnectionFactoryMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/DiskForceBatcherThread.html#getInstance()"><B>getInstance()</B></A> -
+Static method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/DiskForceBatcherThread.html" title="class in bitronix.tm.journal">DiskForceBatcherThread</A>
+<DD>Get the single instance of the DiskForceBatcherThread.
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#getIsolationLevel()"><B>getIsolationLevel()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/Configuration.html#getJndiTransactionSynchronizationRegistryName()"><B>getJndiTransactionSynchronizationRegistryName()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Get the name the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionSynchronizationRegistry.html?is-external=true" title="class or interface in javax.transaction"><CODE>TransactionSynchronizationRegistry</CODE></A> should be bound under in the
+ <A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi"><CODE>BitronixContext</CODE></A>.
+<DT><A HREF="./bitronix/tm/Configuration.html#getJndiUserTransactionName()"><B>getJndiUserTransactionName()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Get the name the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/UserTransaction.html?is-external=true" title="class or interface in javax.transaction"><CODE>UserTransaction</CODE></A> should be bound under in the
+ <A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi"><CODE>BitronixContext</CODE></A>.
+<DT><A HREF="./bitronix/tm/Configuration.html#getJournal()"><B>getJournal()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Get the journal implementation.
+<DT><A HREF="./bitronix/tm/TransactionManagerServices.html#getJournal()"><B>getJournal()</B></A> -
+Static method in class bitronix.tm.<A HREF="./bitronix/tm/TransactionManagerServices.html" title="class in bitronix.tm">TransactionManagerServices</A>
+<DD>Create the transactions journal.
+<DT><A HREF="./bitronix/tm/resource/common/RecoveryXAResourceHolder.html#getLastReleaseDate()"><B>getLastReleaseDate()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common">RecoveryXAResourceHolder</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html#getLastReleaseDate()"><B>getLastReleaseDate()</B></A> -
+Method in interface bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A>
+<DD>Get the date at which this object was last released to the pool.
+<DT><A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html#getLastReleaseDate()"><B>getLastReleaseDate()</B></A> -
+Method in class bitronix.tm.resource.ehcache.<A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html" title="class in bitronix.tm.resource.ehcache">EhCacheXAResourceHolder</A>
+<DD>Get the date at which this object was last released to the pool.
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html#getLastReleaseDate()"><B>getLastReleaseDate()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#getLastReleaseDate()"><B>getLastReleaseDate()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JmsPooledConnection.html#getLastReleaseDate()"><B>getLastReleaseDate()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#getLocalAutoCommit()"><B>getLocalAutoCommit()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#getLoginTimeout()"><B>getLoginTimeout()</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXADataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#getLoginTimeout()"><B>getLoginTimeout()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/Configuration.html#getLogPart1Filename()"><B>getLogPart1Filename()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Get the journal fragment file 1 name.
+<DT><A HREF="./bitronix/tm/Configuration.html#getLogPart2Filename()"><B>getLogPart2Filename()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Get the journal fragment file 2 name.
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#getLogWriter()"><B>getLogWriter()</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXADataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#getLogWriter()"><B>getLogWriter()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#getMaxIdleTime()"><B>getMaxIdleTime()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/Configuration.html#getMaxLogSizeInMb()"><B>getMaxLogSizeInMb()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Maximum size in megabytes of the journal fragments.
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#getMaxPoolSize()"><B>getMaxPoolSize()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html#getMaxPoolSize()"><B>getMaxPoolSize()</B></A> -
+Method in interface bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html" title="interface in bitronix.tm.resource.jdbc">PoolingDataSourceMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html#getMaxPoolSize()"><B>getMaxPoolSize()</B></A> -
+Method in interface bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" title="interface in bitronix.tm.resource.jms">PoolingConnectionFactoryMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/BitronixMultiSystemException.html#getMessage()"><B>getMessage()</B></A> -
+Method in exception bitronix.tm.internal.<A HREF="./bitronix/tm/internal/BitronixMultiSystemException.html" title="class in bitronix.tm.internal">BitronixMultiSystemException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/PhaseException.html#getMessage()"><B>getMessage()</B></A> -
+Method in exception bitronix.tm.twopc.<A HREF="./bitronix/tm/twopc/PhaseException.html" title="class in bitronix.tm.twopc">PhaseException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/MessageConsumerWrapper.html#getMessageConsumer()"><B>getMessageConsumer()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms">MessageConsumerWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#getMessageListener()"><B>getMessageListener()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#getMessageListener()"><B>getMessageListener()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/MessageConsumerWrapper.html#getMessageListener()"><B>getMessageListener()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms">MessageConsumerWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html#getMessageProducer()"><B>getMessageProducer()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms">MessageProducerWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/MessageConsumerWrapper.html#getMessageSelector()"><B>getMessageSelector()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms">MessageConsumerWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JmsConnectionHandle.html#getMetaData()"><B>getMetaData()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsConnectionHandle.html" title="class in bitronix.tm.resource.jms">JmsConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnection.html#getMetaData()"><B>getMetaData()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#getMinPoolSize()"><B>getMinPoolSize()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html#getMinPoolSize()"><B>getMinPoolSize()</B></A> -
+Method in interface bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html" title="interface in bitronix.tm.resource.jdbc">PoolingDataSourceMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html#getMinPoolSize()"><B>getMinPoolSize()</B></A> -
+Method in interface bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" title="interface in bitronix.tm.resource.jms">PoolingConnectionFactoryMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html#getName()"><B>getName()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms">JndiXAConnectionFactory</A>
+<DD>The JNDI name under which the <CODE>XAConnectionFactory</CODE> is available.
+<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html#getNameInNamespace()"><B>getNameInNamespace()</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html#getNameParser(javax.naming.Name)"><B>getNameParser(Name)</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html#getNameParser(java.lang.String)"><B>getNameParser(String)</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/XAResourceManager.html#getNaturalOrderPositions()"><B>getNaturalOrderPositions()</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal">XAResourceManager</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Scheduler.html#getNaturalOrderPositions()"><B>getNaturalOrderPositions()</B></A> -
+Method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils">Scheduler</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/XAResourceManager.html#getNaturalOrderResourcesForPosition(java.lang.Object)"><B>getNaturalOrderResourcesForPosition(Object)</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal">XAResourceManager</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/UidGenerator.html#getNextSequenceNumber()"><B>getNextSequenceNumber()</B></A> -
+Static method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/UidGenerator.html" title="class in bitronix.tm.utils">UidGenerator</A>
+<DD>Atomically generate general-purpose sequence numbers starting at 0.
+<DT><A HREF="./bitronix/tm/resource/common/XAPool.html#getNextShrinkDate()"><B>getNextShrinkDate()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/TopicSubscriberWrapper.html#getNoLocal()"><B>getNoLocal()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/TopicSubscriberWrapper.html" title="class in bitronix.tm.resource.jms">TopicSubscriberWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/timer/PoolShrinkingTask.html#getObject()"><B>getObject()</B></A> -
+Method in class bitronix.tm.timer.<A HREF="./bitronix/tm/timer/PoolShrinkingTask.html" title="class in bitronix.tm.timer">PoolShrinkingTask</A>
+<DD>
+<DT><A HREF="./bitronix/tm/timer/RecoveryTask.html#getObject()"><B>getObject()</B></A> -
+Method in class bitronix.tm.timer.<A HREF="./bitronix/tm/timer/RecoveryTask.html" title="class in bitronix.tm.timer">RecoveryTask</A>
+<DD>
+<DT><A HREF="./bitronix/tm/timer/Task.html#getObject()"><B>getObject()</B></A> -
+Method in class bitronix.tm.timer.<A HREF="./bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer">Task</A>
+<DD>
+<DT><A HREF="./bitronix/tm/timer/TransactionTimeoutTask.html#getObject()"><B>getObject()</B></A> -
+Method in class bitronix.tm.timer.<A HREF="./bitronix/tm/timer/TransactionTimeoutTask.html" title="class in bitronix.tm.timer">TransactionTimeoutTask</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransactionManagerObjectFactory.html#getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable)"><B>getObjectInstance(Object, Name, Context, Hashtable)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionManagerObjectFactory.html" title="class in bitronix.tm">BitronixTransactionManagerObjectFactory</A>
+<DD>Since there can be only one transaction manager per VM instance, this method always returns a reference
+ to the unique BitronixTransactionManager object.
+<DT><A HREF="./bitronix/tm/BitronixTransactionSynchronizationRegistryObjectFactory.html#getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable)"><B>getObjectInstance(Object, Name, Context, Hashtable)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionSynchronizationRegistryObjectFactory.html" title="class in bitronix.tm">BitronixTransactionSynchronizationRegistryObjectFactory</A>
+<DD>Since there can be only one synchronization registry per VM instance, this method always returns a reference
+ to the unique BitronixTransactionSynchronizationRegistry object.
+<DT><A HREF="./bitronix/tm/resource/ResourceObjectFactory.html#getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable)"><B>getObjectInstance(Object, Name, Context, Hashtable)</B></A> -
+Method in class bitronix.tm.resource.<A HREF="./bitronix/tm/resource/ResourceObjectFactory.html" title="class in bitronix.tm.resource">ResourceObjectFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransactionManager.html#getOldestInFlightTransactionTimestamp()"><B>getOldestInFlightTransactionTimestamp()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm">BitronixTransactionManager</A>
+<DD>Return the timestamp of the oldest in-flight transaction.
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#getPassword()"><B>getPassword()</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXADataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html#getPassword()"><B>getPassword()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#getPooledConnection()"><B>getPooledConnection()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#getPooledConnection()"><B>getPooledConnection()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JmsConnectionHandle.html#getPooledConnection()"><B>getPooledConnection()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsConnectionHandle.html" title="class in bitronix.tm.resource.jms">JmsConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#getPoolingConnectionFactory()"><B>getPoolingConnectionFactory()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JmsPooledConnection.html#getPoolingConnectionFactory()"><B>getPoolingConnectionFactory()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html#getPoolingDataSource()"><B>getPoolingDataSource()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/TransactionLogHeader.html#getPosition()"><B>getPosition()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal">TransactionLogHeader</A>
+<DD>Get CURRENT_POSITION_HEADER.
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#getPreparedStatementCacheSize()"><B>getPreparedStatementCacheSize()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html#getPriority()"><B>getPriority()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms">MessageProducerWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html#getProperties()"><B>getProperties()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/PropertyUtils.html#getProperties(java.lang.Object)"><B>getProperties(Object)</B></A> -
+Static method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/PropertyUtils.html" title="class in bitronix.tm.utils">PropertyUtils</A>
+<DD>Build a map of direct javabeans properties of the target object.
+<DT><A HREF="./bitronix/tm/utils/PropertyUtils.html#getProperty(java.lang.Object, java.lang.String)"><B>getProperty(Object, String)</B></A> -
+Static method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/PropertyUtils.html" title="class in bitronix.tm.utils">PropertyUtils</A>
+<DD>Get a direct or indirect property (dotted property: prop1.prop2.prop3) on the target object.
+<DT><A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html#getProviderUrl()"><B>getProviderUrl()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms">JndiXAConnectionFactory</A>
+<DD>The <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#PROVIDER_URL" title="class or interface in javax.naming"><CODE>Context.PROVIDER_URL</CODE></A> of the JNDI <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> used to fetch the <CODE>XAConnectionFactory</CODE>.
+<DT><A HREF="./bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html#getProxiedDelegate()"><B>getProxiedDelegate()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">BaseProxyHandlerClass</A>
+<DD>Must be implemented by the sub-class of this class.
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html#getProxiedDelegate()"><B>getProxiedDelegate()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcCallableStatementHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#getProxiedDelegate()"><B>getProxiedDelegate()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#getProxiedDelegate()"><B>getProxiedDelegate()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcStatementHandle.html#getProxiedDelegate()"><B>getProxiedDelegate()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcStatementHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html#getProxiedDelegate()"><B>getProxiedDelegate()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcUncachedPreparedStatementHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html#getProxiedDelegate()"><B>getProxiedDelegate()</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html#getProxiedDelegate()"><B>getProxiedDelegate()</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/TransactionLogRecord.html#getRecordLength()"><B>getRecordLength()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A>
+<DD>
+<DT><A HREF="./bitronix/tm/TransactionManagerServices.html#getRecoverer()"><B>getRecoverer()</B></A> -
+Static method in class bitronix.tm.<A HREF="./bitronix/tm/TransactionManagerServices.html" title="class in bitronix.tm">TransactionManagerServices</A>
+<DD>Create the transaction recoverer.
+<DT><A HREF="./bitronix/tm/BitronixTransactionManager.html#getReference()"><B>getReference()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm">BitronixTransactionManager</A>
+<DD>BitronixTransactionManager can only have a single instance per JVM so this method always returns a reference
+ with no special information to find back the sole instance.
+<DT><A HREF="./bitronix/tm/BitronixTransactionSynchronizationRegistry.html#getReference()"><B>getReference()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm">BitronixTransactionSynchronizationRegistry</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html#getReference()"><B>getReference()</B></A> -
+Method in class bitronix.tm.resource.ehcache.<A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html" title="class in bitronix.tm.resource.ehcache">EhCacheXAResourceProducer</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#getReference()"><B>getReference()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc"><CODE>PoolingDataSource</CODE></A> must alway have a unique name so this method builds a reference to this object using
+ the unique name as <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/RefAddr.html?is-external=true" title="class or interface in javax.naming"><CODE>RefAddr</CODE></A>.
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html#getReference()"><B>getReference()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A>
+<DD><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms"><CODE>PoolingConnectionFactory</CODE></A> must alway have a unique name so this method builds a reference to this object
+ using the unique name as <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/RefAddr.html?is-external=true" title="class or interface in javax.naming"><CODE>RefAddr</CODE></A>.
+<DT><A HREF="./bitronix/tm/BitronixTransactionSynchronizationRegistry.html#getResource(java.lang.Object)"><B>getResource(Object)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm">BitronixTransactionSynchronizationRegistry</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/executor/Job.html#getResource()"><B>getResource()</B></A> -
+Method in class bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/ClassLoaderUtils.html#getResourceAsStream(java.lang.String)"><B>getResourceAsStream(String)</B></A> -
+Static method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/ClassLoaderUtils.html" title="class in bitronix.tm.utils">ClassLoaderUtils</A>
+<DD>Load a resource from the classpath.
+<DT><A HREF="./bitronix/tm/resource/common/RecoveryXAResourceHolder.html#getResourceBean()"><B>getResourceBean()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common">RecoveryXAResourceHolder</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAResourceHolder.html#getResourceBean()"><B>getResourceBean()</B></A> -
+Method in interface bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A>
+<DD>Get the ResourceBean which created this XAResourceHolder.
+<DT><A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html#getResourceBean()"><B>getResourceBean()</B></A> -
+Method in class bitronix.tm.resource.ehcache.<A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html" title="class in bitronix.tm.resource.ehcache">EhCacheXAResourceHolder</A>
+<DD>Get the ResourceBean which created this XAResourceHolder.
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html#getResourceBean()"><B>getResourceBean()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#getResourceBean()"><B>getResourceBean()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/Configuration.html#getResourceConfigurationFilename()"><B>getResourceConfigurationFilename()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD><A HREF="./bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource"><CODE>ResourceLoader</CODE></A> configuration file name.
+<DT><A HREF="./bitronix/tm/TransactionManagerServices.html#getResourceLoader()"><B>getResourceLoader()</B></A> -
+Static method in class bitronix.tm.<A HREF="./bitronix/tm/TransactionManagerServices.html" title="class in bitronix.tm">TransactionManagerServices</A>
+<DD>Create the resource loader.
+<DT><A HREF="./bitronix/tm/BitronixTransaction.html#getResourceManager()"><B>getResourceManager()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/ResourceLoader.html#getResources()"><B>getResources()</B></A> -
+Method in class bitronix.tm.resource.<A HREF="./bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource">ResourceLoader</A>
+<DD>Get a Map with the configured uniqueName as key and <A HREF="./bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> as value.
+<DT><A HREF="./bitronix/tm/internal/BitronixMultiSystemException.html#getResourceStates()"><B>getResourceStates()</B></A> -
+Method in exception bitronix.tm.internal.<A HREF="./bitronix/tm/internal/BitronixMultiSystemException.html" title="class in bitronix.tm.internal">BitronixMultiSystemException</A>
+<DD>Get the list of XAResourceHolderStates which threw an exception during execution.
+<DT><A HREF="./bitronix/tm/twopc/PhaseException.html#getResourceStates()"><B>getResourceStates()</B></A> -
+Method in exception bitronix.tm.twopc.<A HREF="./bitronix/tm/twopc/PhaseException.html" title="class in bitronix.tm.twopc">PhaseException</A>
+<DD>Get the list of resource which threw an exception during a phase execution.
+<DT><A HREF="./bitronix/tm/resource/ResourceRegistrar.html#getResourcesUniqueNames()"><B>getResourcesUniqueNames()</B></A> -
+Static method in class bitronix.tm.resource.<A HREF="./bitronix/tm/resource/ResourceRegistrar.html" title="class in bitronix.tm.resource">ResourceRegistrar</A>
+<DD>Get all <A HREF="./bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>s unique names.
+<DT><A HREF="./bitronix/tm/internal/XAResourceManager.html#getReverseOrderPositions()"><B>getReverseOrderPositions()</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal">XAResourceManager</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Scheduler.html#getReverseOrderPositions()"><B>getReverseOrderPositions()</B></A> -
+Method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils">Scheduler</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/XAResourceManager.html#getReverseOrderResourcesForPosition(java.lang.Object)"><B>getReverseOrderResourcesForPosition(Object)</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal">XAResourceManager</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransactionSynchronizationRegistry.html#getRollbackOnly()"><B>getRollbackOnly()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm">BitronixTransactionSynchronizationRegistry</A>
+<DD>
+<DT><A HREF="./bitronix/tm/recovery/Recoverer.html#getRolledbackCount()"><B>getRolledbackCount()</B></A> -
+Method in class bitronix.tm.recovery.<A HREF="./bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A>
+<DD>Get the amount of transactions rolled back during the last recovery run.
+<DT><A HREF="./bitronix/tm/recovery/RecovererMBean.html#getRolledbackCount()"><B>getRolledbackCount()</B></A> -
+Method in interface bitronix.tm.recovery.<A HREF="./bitronix/tm/recovery/RecovererMBean.html" title="interface in bitronix.tm.recovery">RecovererMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/ResourcesTreeModel.html#getRoot()"><B>getRoot()</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/ResourcesTreeModel.html" title="class in bitronix.tm.gui">ResourcesTreeModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/PendingTransactionTableModel.html#getRow(int)"><B>getRow(int)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/PendingTransactionTableModel.html" title="class in bitronix.tm.gui">PendingTransactionTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/RawTransactionTableModel.html#getRow(int)"><B>getRow(int)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/RawTransactionTableModel.html" title="class in bitronix.tm.gui">RawTransactionTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/TransactionTableModel.html#getRow(int)"><B>getRow(int)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/TransactionTableModel.html" title="class in bitronix.tm.gui">TransactionTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/PendingTransactionTableModel.html#getRowCount()"><B>getRowCount()</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/PendingTransactionTableModel.html" title="class in bitronix.tm.gui">PendingTransactionTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/RawTransactionTableModel.html#getRowCount()"><B>getRowCount()</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/RawTransactionTableModel.html" title="class in bitronix.tm.gui">RawTransactionTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/executor/Job.html#getRuntimeException()"><B>getRuntimeException()</B></A> -
+Method in class bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html#getSecurityCredentials()"><B>getSecurityCredentials()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms">JndiXAConnectionFactory</A>
+<DD>The <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#SECURITY_CREDENTIALS" title="class or interface in javax.naming"><CODE>Context.SECURITY_CREDENTIALS</CODE></A> of the JNDI <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> used to fetch the <CODE>XAConnectionFactory</CODE>.
+<DT><A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html#getSecurityPrincipal()"><B>getSecurityPrincipal()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms">JndiXAConnectionFactory</A>
+<DD>The <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#SECURITY_PRINCIPAL" title="class or interface in javax.naming"><CODE>Context.SECURITY_PRINCIPAL</CODE></A> of the JNDI <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> used to fetch the <CODE>XAConnectionFactory</CODE>.
+<DT><A HREF="./bitronix/tm/journal/TransactionLogRecord.html#getSequenceNumber()"><B>getSequenceNumber()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A>
+<DD>
+<DT><A HREF="./bitronix/tm/Configuration.html#getServerId()"><B>getServerId()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>ASCII ID that must uniquely identify this TM instance.
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#getSession()"><B>getSession()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#getSession(boolean)"><B>getSession(boolean)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#getSession()"><B>getSession()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#getShareTransactionConnections()"><B>getShareTransactionConnections()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransaction.html#getStartDate()"><B>getStartDate()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransactionMBean.html#getStartDate()"><B>getStartDate()</B></A> -
+Method in interface bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionMBean.html" title="interface in bitronix.tm">BitronixTransactionMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/TransactionLogHeader.html#getState()"><B>getState()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal">TransactionLogHeader</A>
+<DD>Get STATE_HEADER.
+<DT><A HREF="./bitronix/tm/resource/common/AbstractXAStatefulHolder.html#getState()"><B>getState()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">AbstractXAStatefulHolder</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html#getState()"><B>getState()</B></A> -
+Method in interface bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A>
+<DD>Get the current resource state.
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#getState()"><B>getState()</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html#getState()"><B>getState()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html#getStateDescription()"><B>getStateDescription()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html#getStateDescription()"><B>getStateDescription()</B></A> -
+Method in interface bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jdbc">JdbcPooledConnectionMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JmsPooledConnection.html#getStateDescription()"><B>getStateDescription()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JmsPooledConnectionMBean.html#getStateDescription()"><B>getStateDescription()</B></A> -
+Method in interface bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jms">JmsPooledConnectionMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransaction.html#getStatus()"><B>getStatus()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransactionManager.html#getStatus()"><B>getStatus()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm">BitronixTransactionManager</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/TransactionLogRecord.html#getStatus()"><B>getStatus()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransaction.html#getStatusDescription()"><B>getStatusDescription()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransactionMBean.html#getStatusDescription()"><B>getStatusDescription()</B></A> -
+Method in interface bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionMBean.html" title="interface in bitronix.tm">BitronixTransactionMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransaction.html#getSynchronizationScheduler()"><B>getSynchronizationScheduler()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/TransactionTableCellRenderer.html#getTableCellRendererComponent(javax.swing.JTable, java.lang.Object, boolean, boolean, int, int)"><B>getTableCellRendererComponent(JTable, Object, boolean, boolean, int, int)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/TransactionTableCellRenderer.html" title="class in bitronix.tm.gui">TransactionTableCellRenderer</A>
+<DD>
+<DT><A HREF="./bitronix/tm/timer/Task.html#getTaskScheduler()"><B>getTaskScheduler()</B></A> -
+Method in class bitronix.tm.timer.<A HREF="./bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer">Task</A>
+<DD>
+<DT><A HREF="./bitronix/tm/TransactionManagerServices.html#getTaskScheduler()"><B>getTaskScheduler()</B></A> -
+Static method in class bitronix.tm.<A HREF="./bitronix/tm/TransactionManagerServices.html" title="class in bitronix.tm">TransactionManagerServices</A>
+<DD>Create the task scheduler.
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html#getTestConnections()"><B>getTestConnections()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#getTestQuery()"><B>getTestQuery()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransaction.html#getThreadName()"><B>getThreadName()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransactionMBean.html#getThreadName()"><B>getThreadName()</B></A> -
+Method in interface bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionMBean.html" title="interface in bitronix.tm">BitronixTransactionMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/TransactionLogRecord.html#getTime()"><B>getTime()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/ThreadContext.html#getTimeout()"><B>getTimeout()</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/ThreadContext.html" title="class in bitronix.tm.internal">ThreadContext</A>
+<DD>Return this context's default timeout.
+<DT><A HREF="./bitronix/tm/journal/TransactionLogHeader.html#getTimestamp()"><B>getTimestamp()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal">TransactionLogHeader</A>
+<DD>Get TIMESTAMP_HEADER.
+<DT><A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html#getTimeToLive()"><B>getTimeToLive()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms">MessageProducerWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/TopicSubscriberWrapper.html#getTopic()"><B>getTopic()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/TopicSubscriberWrapper.html" title="class in bitronix.tm.resource.jms">TopicSubscriberWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#getTotalPoolSize()"><B>getTotalPoolSize()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html#getTotalPoolSize()"><B>getTotalPoolSize()</B></A> -
+Method in interface bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html" title="interface in bitronix.tm.resource.jdbc">PoolingDataSourceMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html#getTotalPoolSize()"><B>getTotalPoolSize()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html#getTotalPoolSize()"><B>getTotalPoolSize()</B></A> -
+Method in interface bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" title="interface in bitronix.tm.resource.jms">PoolingConnectionFactoryMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#getTransacted()"><B>getTransacted()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#getTransacted()"><B>getTransacted()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransactionManager.html#getTransaction()"><B>getTransaction()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm">BitronixTransactionManager</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/ThreadContext.html#getTransaction()"><B>getTransaction()</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/ThreadContext.html" title="class in bitronix.tm.internal">ThreadContext</A>
+<DD>Return the transaction linked with this thread context.
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html#getTransactionGtridsCurrentlyHoldingThis()"><B>getTransactionGtridsCurrentlyHoldingThis()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html#getTransactionGtridsCurrentlyHoldingThis()"><B>getTransactionGtridsCurrentlyHoldingThis()</B></A> -
+Method in interface bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jdbc">JdbcPooledConnectionMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JmsPooledConnection.html#getTransactionGtridsCurrentlyHoldingThis()"><B>getTransactionGtridsCurrentlyHoldingThis()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JmsPooledConnectionMBean.html#getTransactionGtridsCurrentlyHoldingThis()"><B>getTransactionGtridsCurrentlyHoldingThis()</B></A> -
+Method in interface bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jms">JmsPooledConnectionMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransactionSynchronizationRegistry.html#getTransactionKey()"><B>getTransactionKey()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm">BitronixTransactionSynchronizationRegistry</A>
+<DD>
+<DT><A HREF="./bitronix/tm/TransactionManagerServices.html#getTransactionManager()"><B>getTransactionManager()</B></A> -
+Static method in class bitronix.tm.<A HREF="./bitronix/tm/TransactionManagerServices.html" title="class in bitronix.tm">TransactionManagerServices</A>
+<DD>Create an initialized transaction manager.
+<DT><A HREF="./bitronix/tm/BitronixTransactionSynchronizationRegistry.html#getTransactionStatus()"><B>getTransactionStatus()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm">BitronixTransactionSynchronizationRegistry</A>
+<DD>
+<DT><A HREF="./bitronix/tm/TransactionManagerServices.html#getTransactionSynchronizationRegistry()"><B>getTransactionSynchronizationRegistry()</B></A> -
+Static method in class bitronix.tm.<A HREF="./bitronix/tm/TransactionManagerServices.html" title="class in bitronix.tm">TransactionManagerServices</A>
+<DD>Create the JTA 1.1 TransactionSynchronizationRegistry.
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#getTransactionTimeout()"><B>getTransactionTimeout()</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html#getTransactionTimeout()"><B>getTransactionTimeout()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/XAResourceHolderState.html#getTransactionTimeoutDate()"><B>getTransactionTimeoutDate()</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/XAResourceHolderState.html#getTwoPcOrderingPosition()"><B>getTwoPcOrderingPosition()</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#getTwoPcOrderingPosition()"><B>getTwoPcOrderingPosition()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/XAResourceHolderState.html#getUniqueName()"><B>getUniqueName()</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A>
+<DD>
+<DT><A HREF="./bitronix/tm/recovery/DanglingTransaction.html#getUniqueName()"><B>getUniqueName()</B></A> -
+Method in class bitronix.tm.recovery.<A HREF="./bitronix/tm/recovery/DanglingTransaction.html" title="class in bitronix.tm.recovery">DanglingTransaction</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#getUniqueName()"><B>getUniqueName()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAResourceProducer.html#getUniqueName()"><B>getUniqueName()</B></A> -
+Method in interface bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A>
+<DD>Get the resource name as registered in the transactions journal.
+<DT><A HREF="./bitronix/tm/journal/TransactionLogRecord.html#getUniqueNames()"><B>getUniqueNames()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#getUrl()"><B>getUrl()</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXADataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html#getUrlPkgPrefixes()"><B>getUrlPkgPrefixes()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms">JndiXAConnectionFactory</A>
+<DD>The <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#URL_PKG_PREFIXES" title="class or interface in javax.naming"><CODE>Context.URL_PKG_PREFIXES</CODE></A> of the JNDI <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> used to fetch the <CODE>XAConnectionFactory</CODE>.
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#getUser()"><B>getUser()</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXADataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html#getUser()"><B>getUser()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/XAResourceHolderState.html#getUseTmJoin()"><B>getUseTmJoin()</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#getUseTmJoin()"><B>getUseTmJoin()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/DuplicatedGtridTableModel.html#getValueAt(int, int)"><B>getValueAt(int, int)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/DuplicatedGtridTableModel.html" title="class in bitronix.tm.gui">DuplicatedGtridTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/PendingTransactionTableModel.html#getValueAt(int, int)"><B>getValueAt(int, int)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/PendingTransactionTableModel.html" title="class in bitronix.tm.gui">PendingTransactionTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/RawTransactionTableModel.html#getValueAt(int, int)"><B>getValueAt(int, int)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/RawTransactionTableModel.html" title="class in bitronix.tm.gui">RawTransactionTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/Version.html#getVersion()"><B>getVersion()</B></A> -
+Static method in class bitronix.tm.<A HREF="./bitronix/tm/Version.html" title="class in bitronix.tm">Version</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#getXAConnection()"><B>getXAConnection()</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXADataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#getXAConnection(java.lang.String, java.lang.String)"><B>getXAConnection(String, String)</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXADataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JmsConnectionHandle.html#getXAConnection()"><B>getXAConnection()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsConnectionHandle.html" title="class in bitronix.tm.resource.jms">JmsConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JmsPooledConnection.html#getXAConnection()"><B>getXAConnection()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/executor/Job.html#getXAException()"><B>getXAException()</B></A> -
+Method in class bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAPool.html#getXAFactory()"><B>getXAFactory()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/XAResourceHolderState.html#getXAResource()"><B>getXAResource()</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/RecoveryXAResourceHolder.html#getXAResource()"><B>getXAResource()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common">RecoveryXAResourceHolder</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAResourceHolder.html#getXAResource()"><B>getXAResource()</B></A> -
+Method in interface bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A>
+<DD>Get the vendor's <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> implementation of the wrapped resource.
+<DT><A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html#getXAResource()"><B>getXAResource()</B></A> -
+Method in class bitronix.tm.resource.ehcache.<A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html" title="class in bitronix.tm.resource.ehcache">EhCacheXAResourceHolder</A>
+<DD>Get the vendor's <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> implementation of the wrapped resource.
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html#getXAResource()"><B>getXAResource()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html#getXAResource()"><B>getXAResource()</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#getXAResource()"><B>getXAResource()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#getXAResource()"><B>getXAResource()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/XAResourceHolderState.html#getXAResourceHolder()"><B>getXAResourceHolder()</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/RecoveryXAResourceHolder.html#getXAResourceHolders()"><B>getXAResourceHolders()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common">RecoveryXAResourceHolder</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAPool.html#getXAResourceHolders()"><B>getXAResourceHolders()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html#getXAResourceHolders()"><B>getXAResourceHolders()</B></A> -
+Method in interface bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A>
+<DD>Get the list of <A HREF="./bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this
+ <A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that are still open.
+<DT><A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html#getXAResourceHolders()"><B>getXAResourceHolders()</B></A> -
+Method in class bitronix.tm.resource.ehcache.<A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html" title="class in bitronix.tm.resource.ehcache">EhCacheXAResourceHolder</A>
+<DD>Get the list of <A HREF="./bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>s created by this
+ <A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> that are still open.
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html#getXAResourceHolders()"><B>getXAResourceHolders()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#getXAResourceHolders()"><B>getXAResourceHolders()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JmsPooledConnection.html#getXAResourceHolders()"><B>getXAResourceHolders()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/AbstractXAResourceHolder.html#getXAResourceHolderStateGtrids()"><B>getXAResourceHolderStateGtrids()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A>
+<DD>Simple helper method which returns a set of GTRIDs of transactions in which
+ this resource is enlisted.
+<DT><A HREF="./bitronix/tm/resource/common/AbstractXAResourceHolder.html#getXAResourceHolderStatesForGtrid(bitronix.tm.utils.Uid)"><B>getXAResourceHolderStatesForGtrid(Uid)</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAResourceHolder.html#getXAResourceHolderStatesForGtrid(bitronix.tm.utils.Uid)"><B>getXAResourceHolderStatesForGtrid(Uid)</B></A> -
+Method in interface bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A>
+<DD>Get all the <A HREF="./bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A>s of this wrapped resource for a specific GTRID.
+<DT><A HREF="./bitronix/tm/resource/common/DeferredReleaseSynchronization.html#getXAStatefulHolder()"><B>getXAStatefulHolder()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/DeferredReleaseSynchronization.html" title="class in bitronix.tm.resource.common">DeferredReleaseSynchronization</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/XAResourceHolderState.html#getXid()"><B>getXid()</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A>
+<DD>
+<DT><A HREF="./bitronix/tm/recovery/DanglingTransaction.html#getXid()"><B>getXid()</B></A> -
+Method in class bitronix.tm.recovery.<A HREF="./bitronix/tm/recovery/DanglingTransaction.html" title="class in bitronix.tm.recovery">DanglingTransaction</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/TransactionLogHeader.html#goAhead(long)"><B>goAhead(long)</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal">TransactionLogHeader</A>
+<DD>Advance CURRENT_POSITION_HEADER.
+<DT><A HREF="./bitronix/tm/gui/RawTransactionTableModel.html#GTRID_COL"><B>GTRID_COL</B></A> -
+Static variable in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/RawTransactionTableModel.html" title="class in bitronix.tm.gui">RawTransactionTableModel</A>
+<DD>
+</DL>
+<HR>
+<A NAME="_H_"><!-- --></A><H2>
+<B>H</B></H2>
+<DL>
+<DT><A HREF="./bitronix/tm/BitronixTransaction.html#hashCode()"><B>hashCode()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixXid.html#hashCode()"><B>hashCode()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A>
+<DD>Get an integer hash for the XID.
+<DT><A HREF="./bitronix/tm/internal/XAResourceHolderState.html#hashCode()"><B>hashCode()</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A>
+<DD>
+<DT><A HREF="./bitronix/tm/recovery/DanglingTransaction.html#hashCode()"><B>hashCode()</B></A> -
+Method in class bitronix.tm.recovery.<A HREF="./bitronix/tm/recovery/DanglingTransaction.html" title="class in bitronix.tm.recovery">DanglingTransaction</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#hashCode()"><B>hashCode()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html#hashCode()"><B>hashCode()</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/MessageProducerConsumerKey.html#hashCode()"><B>hashCode()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageProducerConsumerKey.html" title="class in bitronix.tm.resource.jms">MessageProducerConsumerKey</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Uid.html#hashCode()"><B>hashCode()</B></A> -
+Method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/AbstractXAResourceHolder.html#hasStateForXAResource(bitronix.tm.resource.common.XAResourceHolder)"><B>hasStateForXAResource(XAResourceHolder)</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAResourceHolder.html#hasStateForXAResource(bitronix.tm.resource.common.XAResourceHolder)"><B>hasStateForXAResource(XAResourceHolder)</B></A> -
+Method in interface bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A>
+<DD>Check if this <A HREF="./bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> contains a state for a specific <A HREF="./bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A>.
+<DT><A HREF="./bitronix/tm/journal/DiskForceWaitQueue.html#head()"><B>head()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/DiskForceWaitQueue.html" title="class in bitronix.tm.journal">DiskForceWaitQueue</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/TransactionLogHeader.html#HEADER_LENGTH"><B>HEADER_LENGTH</B></A> -
+Static variable in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal">TransactionLogHeader</A>
+<DD>Total length of the header.
+</DL>
+<HR>
+<A NAME="_I_"><!-- --></A><H2>
+<B>I</B></H2>
+<DL>
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#incCreatedResourcesCounter()"><B>incCreatedResourcesCounter()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>Increment a transient counter.
+<DT><A HREF="./bitronix/tm/recovery/IncrementalRecoverer.html" title="class in bitronix.tm.recovery"><B>IncrementalRecoverer</B></A> - Class in <A HREF="./bitronix/tm/recovery/package-summary.html">bitronix.tm.recovery</A><DD>Incremental resource recoverer.<DT><A HREF="./bitronix/tm/recovery/IncrementalRecoverer.html#IncrementalRecoverer()"><B>IncrementalRecoverer()</B></A> -
+Constructor for class bitronix.tm.recovery.<A HREF="./bitronix/tm/recovery/IncrementalRecoverer.html" title="class in bitronix.tm.recovery">IncrementalRecoverer</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAResourceProducer.html#init()"><B>init()</B></A> -
+Method in interface bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A>
+<DD>Initialize this <A HREF="./bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>'s internal resources.
+<DT><A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html#init()"><B>init()</B></A> -
+Method in class bitronix.tm.resource.ehcache.<A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html" title="class in bitronix.tm.resource.ehcache">EhCacheXAResourceProducer</A>
+<DD>Initialize this <A HREF="./bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>'s internal resources.
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#init()"><B>init()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>Initializes the pool by creating the initial amount of connections.
+<DT><A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html#init()"><B>init()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms">JndiXAConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html#init()"><B>init()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A>
+<DD>Initialize the pool by creating the initial amount of connections.
+<DT><A HREF="./bitronix/tm/resource/ResourceLoader.html#init()"><B>init()</B></A> -
+Method in class bitronix.tm.resource.<A HREF="./bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource">ResourceLoader</A>
+<DD>Initialize the ResourceLoader and load the resources configuration file specified in
+ <code>bitronix.tm.resource.configuration</code> property.
+<DT><A HREF="./bitronix/tm/utils/InitializationException.html" title="class in bitronix.tm.utils"><B>InitializationException</B></A> - Exception in <A HREF="./bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A><DD>Thrown at transaction manager startup when an error occurs.<DT><A HREF="./bitronix/tm/utils/InitializationException.html#InitializationException(java.lang.String)"><B>InitializationException(String)</B></A> -
+Constructor for exception bitronix.tm.utils.<A HREF="./bitronix/tm/utils/InitializationException.html" title="class in bitronix.tm.utils">InitializationException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/InitializationException.html#InitializationException(java.lang.String, java.lang.Throwable)"><B>InitializationException(String, Throwable)</B></A> -
+Constructor for exception bitronix.tm.utils.<A HREF="./bitronix/tm/utils/InitializationException.html" title="class in bitronix.tm.utils">InitializationException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAPool.html#inPoolSize()"><B>inPoolSize()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Encoder.html#intToBytes(int)"><B>intToBytes(int)</B></A> -
+Static method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Encoder.html" title="class in bitronix.tm.utils">Encoder</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html#invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])"><B>invoke(Object, Method, Object[])</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc">BaseProxyHandlerClass</A>
+<DD>Implementation of the InvocationHandler interface.
+<DT><A HREF="./bitronix/tm/Configuration.html#isAllowMultipleLrc()"><B>isAllowMultipleLrc()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Should the transaction manager allow enlistment of multiple LRC resources in a single transaction?
+<DT><A HREF="./bitronix/tm/Configuration.html#isAsynchronous2Pc()"><B>isAsynchronous2Pc()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Should two phase commit be executed asynchronously?
+<DT><A HREF="./bitronix/tm/gui/PendingTransactionTableModel.html#isCellEditable(int, int)"><B>isCellEditable(int, int)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/PendingTransactionTableModel.html" title="class in bitronix.tm.gui">PendingTransactionTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/RawTransactionTableModel.html#isCellEditable(int, int)"><B>isCellEditable(int, int)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/RawTransactionTableModel.html" title="class in bitronix.tm.gui">RawTransactionTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#isClosed()"><B>isClosed()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#isClosed()"><B>isClosed()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html#isClosed()"><B>isClosed()</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/TransactionLogRecord.html#isCrc32Correct()"><B>isCrc32Correct()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A>
+<DD>Recalculate the CRC32 value of this record (using <A HREF="./bitronix/tm/journal/TransactionLogRecord.html#calculateCrc32()"><CODE>TransactionLogRecord.calculateCrc32()</CODE></A>) and compare it with the stored value.
+<DT><A HREF="./bitronix/tm/Configuration.html#isCurrentNodeOnlyRecovery()"><B>isCurrentNodeOnlyRecovery()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Should the recovery process <b>not</b> recover XIDs generated with another JVM unique ID?
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#isDisabled()"><B>isDisabled()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html#isDisabled()"><B>isDisabled()</B></A> -
+Method in interface bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html" title="interface in bitronix.tm.resource.jdbc">PoolingDataSourceMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html#isDisabled()"><B>isDisabled()</B></A> -
+Method in interface bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" title="interface in bitronix.tm.resource.jms">PoolingConnectionFactoryMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/Configuration.html#isDisableJmx()"><B>isDisableJmx()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Should JMX Mbeans not be registered even if a JMX MBean server is detected?
+<DT><A HREF="./bitronix/tm/twopc/executor/ConcurrentExecutor.html#isDone(java.lang.Object)"><B>isDone(Object)</B></A> -
+Method in class bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/ConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor">ConcurrentExecutor</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/executor/Executor.html#isDone(java.lang.Object)"><B>isDone(Object)</B></A> -
+Method in interface bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A>
+<DD>Check if the thread pool has terminated the execution of the job represented by a future.
+<DT><A HREF="./bitronix/tm/twopc/executor/SimpleAsyncExecutor.html#isDone(java.lang.Object)"><B>isDone(Object)</B></A> -
+Method in class bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/SimpleAsyncExecutor.html" title="class in bitronix.tm.twopc.executor">SimpleAsyncExecutor</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/executor/SyncExecutor.html#isDone(java.lang.Object)"><B>isDone(Object)</B></A> -
+Method in class bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/SyncExecutor.html" title="class in bitronix.tm.twopc.executor">SyncExecutor</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/DiskForceWaitQueue.html#isEmpty()"><B>isEmpty()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/DiskForceWaitQueue.html" title="class in bitronix.tm.journal">DiskForceWaitQueue</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#isEnableJdbc4ConnectionTest()"><B>isEnableJdbc4ConnectionTest()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/XAResourceHolderState.html#isEnded()"><B>isEnded()</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/XAResourceHolderState.html#isFailed()"><B>isFailed()</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAPool.html#isFailed()"><B>isFailed()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#isFailed()"><B>isFailed()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html#isFailed()"><B>isFailed()</B></A> -
+Method in interface bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html" title="interface in bitronix.tm.resource.jdbc">PoolingDataSourceMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html#isFailed()"><B>isFailed()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html#isFailed()"><B>isFailed()</B></A> -
+Method in interface bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" title="interface in bitronix.tm.resource.jms">PoolingConnectionFactoryMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/Configuration.html#isFilterLogStatus()"><B>isFilterLogStatus()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Should only mandatory logs be written?
+<DT><A HREF="./bitronix/tm/Configuration.html#isForceBatchingEnabled()"><B>isForceBatchingEnabled()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Are disk forces batched?
+<DT><A HREF="./bitronix/tm/Configuration.html#isForcedWriteEnabled()"><B>isForcedWriteEnabled()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Are logs forced to disk?
+<DT><A HREF="./bitronix/tm/gui/ResourcesTreeModel.html#isLeaf(java.lang.Object)"><B>isLeaf(Object)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/ResourcesTreeModel.html" title="class in bitronix.tm.gui">ResourcesTreeModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html#isNarrowJndiObject()"><B>isNarrowJndiObject()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms">JndiXAConnectionFactory</A>
+<DD>Should <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/rmi/PortableRemoteObject.html?is-external=true#narrow(java.lang.Object, java.lang.Class)" title="class or interface in javax.rmi"><CODE>PortableRemoteObject.narrow(Object, Class)</CODE></A> be applied on the object looked up from
+ JNDI before trying to cast it to <CODE>XAConnectionFactory</CODE> ?
+<DT><A HREF="./bitronix/tm/twopc/AbstractPhaseEngine.html#isParticipating(bitronix.tm.internal.XAResourceHolderState)"><B>isParticipating(XAResourceHolderState)</B></A> -
+Method in class bitronix.tm.twopc.<A HREF="./bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc">AbstractPhaseEngine</A>
+<DD>Determine if a resource is participating in the phase or not.
+<DT><A HREF="./bitronix/tm/twopc/Committer.html#isParticipating(bitronix.tm.internal.XAResourceHolderState)"><B>isParticipating(XAResourceHolderState)</B></A> -
+Method in class bitronix.tm.twopc.<A HREF="./bitronix/tm/twopc/Committer.html" title="class in bitronix.tm.twopc">Committer</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/Preparer.html#isParticipating(bitronix.tm.internal.XAResourceHolderState)"><B>isParticipating(XAResourceHolderState)</B></A> -
+Method in class bitronix.tm.twopc.<A HREF="./bitronix/tm/twopc/Preparer.html" title="class in bitronix.tm.twopc">Preparer</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/Rollbacker.html#isParticipating(bitronix.tm.internal.XAResourceHolderState)"><B>isParticipating(XAResourceHolderState)</B></A> -
+Method in class bitronix.tm.twopc.<A HREF="./bitronix/tm/twopc/Rollbacker.html" title="class in bitronix.tm.twopc">Rollbacker</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/AbstractXAResourceHolder.html#isParticipatingInActiveGlobalTransaction()"><B>isParticipatingInActiveGlobalTransaction()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A>
+<DD>If this method returns false, then local transaction calls like Connection.commit() can be made.
+<DT><A HREF="./bitronix/tm/recovery/Recoverer.html#isRunning()"><B>isRunning()</B></A> -
+Method in class bitronix.tm.recovery.<A HREF="./bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A>
+<DD>Check if the recoverer currently is running.
+<DT><A HREF="./bitronix/tm/recovery/RecovererMBean.html#isRunning()"><B>isRunning()</B></A> -
+Method in interface bitronix.tm.recovery.<A HREF="./bitronix/tm/recovery/RecovererMBean.html" title="interface in bitronix.tm.recovery">RecovererMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#isSameRM(javax.transaction.xa.XAResource)"><B>isSameRM(XAResource)</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html#isSameRM(javax.transaction.xa.XAResource)"><B>isSameRM(XAResource)</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/Configuration.html#isSkipCorruptedLogs()"><B>isSkipCorruptedLogs()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Should corrupted logs be skipped?
+<DT><A HREF="./bitronix/tm/internal/XAResourceHolderState.html#isStarted()"><B>isStarted()</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/XAResourceHolderState.html#isSuspended()"><B>isSuspended()</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A>
+<DD>
+<DT><A HREF="./bitronix/tm/TransactionManagerServices.html#isTaskSchedulerRunning()"><B>isTaskSchedulerRunning()</B></A> -
+Static method in class bitronix.tm.<A HREF="./bitronix/tm/TransactionManagerServices.html" title="class in bitronix.tm">TransactionManagerServices</A>
+<DD>Check if the task scheduler has started.
+<DT><A HREF="./bitronix/tm/TransactionManagerServices.html#isTransactionManagerRunning()"><B>isTransactionManagerRunning()</B></A> -
+Static method in class bitronix.tm.<A HREF="./bitronix/tm/TransactionManagerServices.html" title="class in bitronix.tm">TransactionManagerServices</A>
+<DD>Check if the transaction manager has started.
+<DT><A HREF="./bitronix/tm/internal/BitronixMultiSystemException.html#isUnilateralRollback()"><B>isUnilateralRollback()</B></A> -
+Method in exception bitronix.tm.internal.<A HREF="./bitronix/tm/internal/BitronixMultiSystemException.html" title="class in bitronix.tm.internal">BitronixMultiSystemException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/BitronixXAException.html#isUnilateralRollback(javax.transaction.xa.XAException)"><B>isUnilateralRollback(XAException)</B></A> -
+Static method in exception bitronix.tm.internal.<A HREF="./bitronix/tm/internal/BitronixXAException.html" title="class in bitronix.tm.internal">BitronixXAException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/executor/ConcurrentExecutor.html#isUsable()"><B>isUsable()</B></A> -
+Method in class bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/ConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor">ConcurrentExecutor</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/executor/Executor.html#isUsable()"><B>isUsable()</B></A> -
+Method in interface bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A>
+<DD>Check if the thread pool can be used.
+<DT><A HREF="./bitronix/tm/twopc/executor/SimpleAsyncExecutor.html#isUsable()"><B>isUsable()</B></A> -
+Method in class bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/SimpleAsyncExecutor.html" title="class in bitronix.tm.twopc.executor">SimpleAsyncExecutor</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/executor/SyncExecutor.html#isUsable()"><B>isUsable()</B></A> -
+Method in class bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/SyncExecutor.html" title="class in bitronix.tm.twopc.executor">SyncExecutor</A>
+<DD>
+<DT><A HREF="./bitronix/tm/Configuration.html#isWarnAboutZeroResourceTransaction()"><B>isWarnAboutZeroResourceTransaction()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Should transactions executed without a single enlisted resource result in a warning or not?
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html#isWrapperFor(java.lang.Class)"><B>isWrapperFor(Class)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcCallableStatementHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#isWrapperFor(java.lang.Class)"><B>isWrapperFor(Class)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#isWrapperFor(java.lang.Class)"><B>isWrapperFor(Class)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcStatementHandle.html#isWrapperFor(java.lang.Class)"><B>isWrapperFor(Class)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcStatementHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html#isWrapperFor(java.lang.Class)"><B>isWrapperFor(Class)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcUncachedPreparedStatementHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#isWrapperFor(java.lang.Class)"><B>isWrapperFor(Class)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Scheduler.html#iterator()"><B>iterator()</B></A> -
+Method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils">Scheduler</A>
+<DD>
+</DL>
+<HR>
+<A NAME="_J_"><!-- --></A><H2>
+<B>J</B></H2>
+<DL>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html" title="class in bitronix.tm.resource.jdbc"><B>JdbcCallableStatementHandle</B></A> - Class in <A HREF="./bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A><DD>CallableStatement <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html?is-external=true" title="class or interface in java.sql"><CODE>Statement</CODE></A> wrapper.<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcCall [...]
+Constructor for class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcCallableStatementHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc"><B>JdbcConnectionHandle</B></A> - Class in <A HREF="./bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A><DD>Disposable Connection handle.<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#JdbcConnectionHandle(bitronix.tm.resource.jdbc.JdbcPooledConnection, java.sql.Connection)"><B>JdbcConnectionHandle(JdbcPooledConnection, Connection)</ [...]
+Constructor for class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc"><B>JdbcPooledConnection</B></A> - Class in <A HREF="./bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A><DD>Implementation of a JDBC pooled connection wrapping vendor's <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/XAConnection.html?is-external=true" title="class or interface in javax.sql"><CODE>XAConnection</CODE></A> implementation.<DT>< [...]
+Constructor for class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jdbc"><B>JdbcPooledConnectionMBean</B></A> - Interface in <A HREF="./bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A><DD><A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc"><CODE>JdbcPooledConnection</CODE></A> Management interface.<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatement [...]
+Constructor for class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#JdbcPreparedStatementHandle(java.lang.String, int)"><B>JdbcPreparedStatementHandle(String, int)</B></A> -
+Constructor for class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#JdbcPreparedStatementHandle(java.lang.String, int, int)"><B>JdbcPreparedStatementHandle(String, int, int)</B></A> -
+Constructor for class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#JdbcPreparedStatementHandle(java.lang.String, int, int, int)"><B>JdbcPreparedStatementHandle(String, int, int, int)</B></A> -
+Constructor for class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#JdbcPreparedStatementHandle(java.lang.String, int[])"><B>JdbcPreparedStatementHandle(String, int[])</B></A> -
+Constructor for class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#JdbcPreparedStatementHandle(java.lang.String, java.lang.String[])"><B>JdbcPreparedStatementHandle(String, String[])</B></A> -
+Constructor for class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcStatementHandle.html" title="class in bitronix.tm.resource.jdbc"><B>JdbcStatementHandle</B></A> - Class in <A HREF="./bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A><DD>Statement <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/sql/Statement.html?is-external=true" title="class or interface in java.sql"><CODE>Statement</CODE></A> wrapper.<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcStatementHandle.html#JdbcSta [...]
+Constructor for class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcStatementHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc"><B>JdbcUncachedPreparedStatementHandle</B></A> - Class in <A HREF="./bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A><DD> <DT><A HREF="./bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html#JdbcUncachedPreparedStatementHandle(java.sql.PreparedStatement, bitronix.tm.resource.jdbc.JdbcPooledConnection)"><B>JdbcUncached [...]
+Constructor for class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcUncachedPreparedStatementHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JmsConnectionHandle.html" title="class in bitronix.tm.resource.jms"><B>JmsConnectionHandle</B></A> - Class in <A HREF="./bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A><DD>Disposable Connection handle.<DT><A HREF="./bitronix/tm/resource/jms/JmsConnectionHandle.html#JmsConnectionHandle(bitronix.tm.resource.jms.JmsPooledConnection, javax.jms.XAConnection)"><B>JmsConnectionHandle(JmsPooledConnection, XAConnection)</B></A> -
+Constructor for class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsConnectionHandle.html" title="class in bitronix.tm.resource.jms">JmsConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms"><B>JmsPooledConnection</B></A> - Class in <A HREF="./bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A><DD>Implementation of a JMS pooled connection wrapping vendor's <CODE>XAConnection</CODE> implementation.<DT><A HREF="./bitronix/tm/resource/jms/JmsPooledConnection.html#JmsPooledConnection(bitronix.tm.resource.jms.PoolingConnectionFactory, javax.jms.XACon [...]
+Constructor for class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JmsPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jms"><B>JmsPooledConnectionMBean</B></A> - Interface in <A HREF="./bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A><DD><A HREF="./bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms"><CODE>JmsPooledConnection</CODE></A> Management interface.<DT><A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html" ti [...]
+ in some JNDI tree.<DT><A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html#JndiXAConnectionFactory()"><B>JndiXAConnectionFactory()</B></A> -
+Constructor for class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms">JndiXAConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor"><B>Job</B></A> - Class in <A HREF="./bitronix/tm/twopc/executor/package-summary.html">bitronix.tm.twopc.executor</A><DD>Abstract job definition executable by the 2PC thread pools.<DT><A HREF="./bitronix/tm/twopc/executor/Job.html#Job(bitronix.tm.internal.XAResourceHolderState)"><B>Job(XAResourceHolderState)</B></A> -
+Constructor for class bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal"><B>Journal</B></A> - Interface in <A HREF="./bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A><DD>Transaction logs journal implementations must implement this interface to provide functionality required by the
+ transaction manager.</DL>
+<HR>
+<A NAME="_L_"><!-- --></A><H2>
+<B>L</B></H2>
+<DL>
+<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html#list(javax.naming.Name)"><B>list(Name)</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html#list(java.lang.String)"><B>list(String)</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html#listBindings(javax.naming.Name)"><B>listBindings(Name)</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html#listBindings(java.lang.String)"><B>listBindings(String)</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/ClassLoaderUtils.html#loadClass(java.lang.String)"><B>loadClass(String)</B></A> -
+Static method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/ClassLoaderUtils.html" title="class in bitronix.tm.utils">ClassLoaderUtils</A>
+<DD>Load a class by name.
+<DT><A HREF="./bitronix/tm/journal/DiskJournal.html#log(int, bitronix.tm.utils.Uid, java.util.Set)"><B>log(int, Uid, Set)</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/DiskJournal.html" title="class in bitronix.tm.journal">DiskJournal</A>
+<DD>Log a new transaction status to journal.
+<DT><A HREF="./bitronix/tm/journal/Journal.html#log(int, bitronix.tm.utils.Uid, java.util.Set)"><B>log(int, Uid, Set)</B></A> -
+Method in interface bitronix.tm.journal.<A HREF="./bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A>
+<DD>Log a new transaction status to journal.
+<DT><A HREF="./bitronix/tm/journal/NullJournal.html#log(int, bitronix.tm.utils.Uid, java.util.Set)"><B>log(int, Uid, Set)</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/NullJournal.html" title="class in bitronix.tm.journal">NullJournal</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/AbstractPhaseEngine.html#logFailedResources(bitronix.tm.twopc.PhaseException)"><B>logFailedResources(PhaseException)</B></A> -
+Method in class bitronix.tm.twopc.<A HREF="./bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc">AbstractPhaseEngine</A>
+<DD>Log exceptions that happened during a phase failure.
+<DT><A HREF="./bitronix/tm/utils/Encoder.html#longToBytes(long)"><B>longToBytes(long)</B></A> -
+Static method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Encoder.html" title="class in bitronix.tm.utils">Encoder</A>
+<DD>
+<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html#lookup(javax.naming.Name)"><B>lookup(Name)</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html#lookup(java.lang.String)"><B>lookup(String)</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html#lookupLink(javax.naming.Name)"><B>lookupLink(Name)</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html#lookupLink(java.lang.String)"><B>lookupLink(String)</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc.lrc"><B>LrcConnectionHandle</B></A> - Class in <A HREF="./bitronix/tm/resource/jdbc/lrc/package-summary.html">bitronix.tm.resource.jdbc.lrc</A><DD>Connection handle implementation for a non-XA JDBC resource emulating XA with Last Resource Commit.<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html#LrcConnectionHandle(bitronix.tm.resource.jdbc.lrc.LrcXAResource [...]
+Constructor for class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jdbc.lrc"><B>LrcXAConnection</B></A> - Class in <A HREF="./bitronix/tm/resource/jdbc/lrc/package-summary.html">bitronix.tm.resource.jdbc.lrc</A><DD>XAConnection implementation for a non-XA JDBC resource emulating XA with Last Resource Commit.<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html#LrcXAConnection(java.sql.Connection)"><B>LrcXAConnection(Connection)</B></A> -
+Constructor for class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jms.lrc"><B>LrcXAConnection</B></A> - Class in <A HREF="./bitronix/tm/resource/jms/lrc/package-summary.html">bitronix.tm.resource.jms.lrc</A><DD>XAConnection implementation for a non-XA JMS resource emulating XA with Last Resource Commit.<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnection.html#LrcXAConnection(javax.jms.Connection)"><B>LrcXAConnection(Connection)</B></A> -
+Constructor for class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html" title="class in bitronix.tm.resource.jms.lrc"><B>LrcXAConnectionFactory</B></A> - Class in <A HREF="./bitronix/tm/resource/jms/lrc/package-summary.html">bitronix.tm.resource.jms.lrc</A><DD>XAConnectionFactory implementation for a non-XA JMS resource emulating XA with Last Resource Commit.<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html#LrcXAConnectionFactory()"><B>LrcXAConnectionFactory()</B></A> -
+Constructor for class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html" title="class in bitronix.tm.resource.jdbc.lrc"><B>LrcXADataSource</B></A> - Class in <A HREF="./bitronix/tm/resource/jdbc/lrc/package-summary.html">bitronix.tm.resource.jdbc.lrc</A><DD>XADataSource implementation for a non-XA JDBC resource emulating XA with Last Resource Commit.<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#LrcXADataSource()"><B>LrcXADataSource()</B></A> -
+Constructor for class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXADataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc"><B>LrcXAResource</B></A> - Class in <A HREF="./bitronix/tm/resource/jdbc/lrc/package-summary.html">bitronix.tm.resource.jdbc.lrc</A><DD>XAResource implementation for a non-XA JDBC connection emulating XA with Last Resource Commit.<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#LrcXAResource(java.sql.Connection)"><B>LrcXAResource(Connection)</B></A> -
+Constructor for class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jms.lrc"><B>LrcXAResource</B></A> - Class in <A HREF="./bitronix/tm/resource/jms/lrc/package-summary.html">bitronix.tm.resource.jms.lrc</A><DD>XAResource implementation for a non-XA JMS connection emulating XA with Last Resource Commit.<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html#LrcXAResource(javax.jms.Session)"><B>LrcXAResource(Session)</B></A> -
+Constructor for class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc"><B>LrcXASession</B></A> - Class in <A HREF="./bitronix/tm/resource/jms/lrc/package-summary.html">bitronix.tm.resource.jms.lrc</A><DD>XASession implementation for a non-XA JMS resource emulating XA with Last Resource Commit.<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#LrcXASession(javax.jms.Session)"><B>LrcXASession(Session)</B></A> -
+Constructor for class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/LruEvictionListener.html" title="interface in bitronix.tm.resource.jdbc"><B>LruEvictionListener</B></A> - Interface in <A HREF="./bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A><DD>Eviction listener interface for <A HREF="./bitronix/tm/resource/jdbc/LruStatementCache.html" title="class in bitronix.tm.resource.jdbc"><CODE>LruStatementCache</CODE></A>.<DT><A HREF="./bitronix/tm/resource/jdbc/LruStatementCache.html" titl [...]
+ support implementation.<DT><A HREF="./bitronix/tm/resource/jdbc/LruStatementCache.html#LruStatementCache(int)"><B>LruStatementCache(int)</B></A> -
+Constructor for class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/LruStatementCache.html" title="class in bitronix.tm.resource.jdbc">LruStatementCache</A>
+<DD>
+</DL>
+<HR>
+<A NAME="_M_"><!-- --></A><H2>
+<B>M</B></H2>
+<DL>
+<DT><A HREF="./bitronix/tm/gui/Console.html#main(java.lang.String[])"><B>main(String[])</B></A> -
+Static method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/Console.html" title="class in bitronix.tm.gui">Console</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/CryptoEngine.html#main(java.lang.String[])"><B>main(String[])</B></A> -
+Static method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/CryptoEngine.html" title="class in bitronix.tm.utils">CryptoEngine</A>
+<DD>Main method of this class to be used as a command-line tool to get a crypted version of a resource password.
+<DT><A HREF="./bitronix/tm/utils/ManagementRegistrar.html#makeValidName(java.lang.String)"><B>makeValidName(String)</B></A> -
+Static method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/ManagementRegistrar.html" title="class in bitronix.tm.utils">ManagementRegistrar</A>
+<DD>Replace characters considered illegal in a management object's name.
+<DT><A HREF="./bitronix/tm/utils/ManagementRegistrar.html" title="class in bitronix.tm.utils"><B>ManagementRegistrar</B></A> - Class in <A HREF="./bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A><DD>Simple JMX facade.<DT><A HREF="./bitronix/tm/utils/ManagementRegistrar.html#ManagementRegistrar()"><B>ManagementRegistrar()</B></A> -
+Constructor for class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/ManagementRegistrar.html" title="class in bitronix.tm.utils">ManagementRegistrar</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms"><B>MessageConsumerWrapper</B></A> - Class in <A HREF="./bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A><DD><CODE>MessageConsumer</CODE> wrapper that adds XA enlistment semantics.<DT><A HREF="./bitronix/tm/resource/jms/MessageConsumerWrapper.html#MessageConsumerWrapper(javax.jms.MessageConsumer, bitronix.tm.resource.jms.DualSessionWrapper, bitronix.tm. [...]
+Constructor for class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms">MessageConsumerWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/MessageProducerConsumerKey.html" title="class in bitronix.tm.resource.jms"><B>MessageProducerConsumerKey</B></A> - Class in <A HREF="./bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A><DD>JMS destination wrapper optimized for use with hashed collections where it is the key and a
+ <CODE>MessageProducer</CODE> or a <CODE>MessageConsumer</CODE> is the value.<DT><A HREF="./bitronix/tm/resource/jms/MessageProducerConsumerKey.html#MessageProducerConsumerKey(javax.jms.Destination)"><B>MessageProducerConsumerKey(Destination)</B></A> -
+Constructor for class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageProducerConsumerKey.html" title="class in bitronix.tm.resource.jms">MessageProducerConsumerKey</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/MessageProducerConsumerKey.html#MessageProducerConsumerKey(javax.jms.Destination, java.lang.String)"><B>MessageProducerConsumerKey(Destination, String)</B></A> -
+Constructor for class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageProducerConsumerKey.html" title="class in bitronix.tm.resource.jms">MessageProducerConsumerKey</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/MessageProducerConsumerKey.html#MessageProducerConsumerKey(javax.jms.Destination, java.lang.String, boolean)"><B>MessageProducerConsumerKey(Destination, String, boolean)</B></A> -
+Constructor for class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageProducerConsumerKey.html" title="class in bitronix.tm.resource.jms">MessageProducerConsumerKey</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms"><B>MessageProducerWrapper</B></A> - Class in <A HREF="./bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A><DD><CODE>MessageProducer</CODE> wrapper that adds XA enlistment semantics.<DT><A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html#MessageProducerWrapper(javax.jms.MessageProducer, bitronix.tm.resource.jms.DualSessionWrapper, bitronix.tm. [...]
+Constructor for class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms">MessageProducerWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/TransactionTableMouseListener.html#mouseClicked(java.awt.event.MouseEvent)"><B>mouseClicked(MouseEvent)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/TransactionTableMouseListener.html" title="class in bitronix.tm.gui">TransactionTableMouseListener</A>
+<DD>
+</DL>
+<HR>
+<A NAME="_N_"><!-- --></A><H2>
+<B>N</B></H2>
+<DL>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#NO_TX"><B>NO_TX</B></A> -
+Static variable in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html#NO_TX"><B>NO_TX</B></A> -
+Static variable in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/NullJournal.html" title="class in bitronix.tm.journal"><B>NullJournal</B></A> - Class in <A HREF="./bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A><DD>No-op journal.<DT><A HREF="./bitronix/tm/journal/NullJournal.html#NullJournal()"><B>NullJournal()</B></A> -
+Constructor for class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/NullJournal.html" title="class in bitronix.tm.journal">NullJournal</A>
+<DD>
+</DL>
+<HR>
+<A NAME="_O_"><!-- --></A><H2>
+<B>O</B></H2>
+<DL>
+<DT><A HREF="./bitronix/tm/resource/jdbc/ConnectionCustomizer.html#onAcquire(java.sql.Connection, java.lang.String)"><B>onAcquire(Connection, String)</B></A> -
+Method in interface bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/ConnectionCustomizer.html" title="interface in bitronix.tm.resource.jdbc">ConnectionCustomizer</A>
+<DD>Called when the physical connection is created.
+<DT><A HREF="./bitronix/tm/resource/jdbc/ConnectionCustomizer.html#onDestroy(java.sql.Connection, java.lang.String)"><B>onDestroy(Connection, String)</B></A> -
+Method in interface bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/ConnectionCustomizer.html" title="interface in bitronix.tm.resource.jdbc">ConnectionCustomizer</A>
+<DD>Called when the physical connection is destroyed.
+<DT><A HREF="./bitronix/tm/resource/jdbc/LruEvictionListener.html#onEviction(java.lang.Object)"><B>onEviction(Object)</B></A> -
+Method in interface bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/LruEvictionListener.html" title="interface in bitronix.tm.resource.jdbc">LruEvictionListener</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/DiskJournal.html#open()"><B>open()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/DiskJournal.html" title="class in bitronix.tm.journal">DiskJournal</A>
+<DD>Open the disk journal.
+<DT><A HREF="./bitronix/tm/journal/Journal.html#open()"><B>open()</B></A> -
+Method in interface bitronix.tm.journal.<A HREF="./bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A>
+<DD>Open the journal.
+<DT><A HREF="./bitronix/tm/journal/NullJournal.html#open()"><B>open()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/NullJournal.html" title="class in bitronix.tm.journal">NullJournal</A>
+<DD>
+</DL>
+<HR>
+<A NAME="_P_"><!-- --></A><H2>
+<B>P</B></H2>
+<DL>
+<DT><A HREF="./bitronix/tm/gui/PendingTransactionTableModel.html" title="class in bitronix.tm.gui"><B>PendingTransactionTableModel</B></A> - Class in <A HREF="./bitronix/tm/gui/package-summary.html">bitronix.tm.gui</A><DD><DT><A HREF="./bitronix/tm/gui/PendingTransactionTableModel.html#PendingTransactionTableModel(java.io.File)"><B>PendingTransactionTableModel(File)</B></A> -
+Constructor for class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/PendingTransactionTableModel.html" title="class in bitronix.tm.gui">PendingTransactionTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/PhaseException.html" title="class in bitronix.tm.twopc"><B>PhaseException</B></A> - Exception in <A HREF="./bitronix/tm/twopc/package-summary.html">bitronix.tm.twopc</A><DD>Thrown when a phase exection has thrown one or more exception(s).<DT><A HREF="./bitronix/tm/twopc/PhaseException.html#PhaseException(java.util.List, java.util.List)"><B>PhaseException(List, List)</B></A> -
+Constructor for exception bitronix.tm.twopc.<A HREF="./bitronix/tm/twopc/PhaseException.html" title="class in bitronix.tm.twopc">PhaseException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/Console.html#pickCurrentLogFile(java.io.File, java.io.File)"><B>pickCurrentLogFile(File, File)</B></A> -
+Static method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/Console.html" title="class in bitronix.tm.gui">Console</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms"><B>PoolingConnectionFactory</B></A> - Class in <A HREF="./bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A><DD>Implementation of a JMS <CODE>ConnectionFactory</CODE> wrapping vendor's <CODE>XAConnectionFactory</CODE> implementation.<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html#PoolingConnectionFactory()"><B>PoolingConnectionFac [...]
+Constructor for class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" title="interface in bitronix.tm.resource.jms"><B>PoolingConnectionFactoryMBean</B></A> - Interface in <A HREF="./bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A><DD> <DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc"><B>PoolingDataSource</B></A> - Class in <A HREF="./bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm [...]
+Constructor for class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html" title="interface in bitronix.tm.resource.jdbc"><B>PoolingDataSourceMBean</B></A> - Interface in <A HREF="./bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A><DD> <DT><A HREF="./bitronix/tm/timer/PoolShrinkingTask.html" title="class in bitronix.tm.timer"><B>PoolShrinkingTask</B></A> - Class in <A HREF="./bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A><DD>This task is used to [...]
+Constructor for class bitronix.tm.timer.<A HREF="./bitronix/tm/timer/PoolShrinkingTask.html" title="class in bitronix.tm.timer">PoolShrinkingTask</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#prepare(javax.transaction.xa.Xid)"><B>prepare(Xid)</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html#prepare(javax.transaction.xa.Xid)"><B>prepare(Xid)</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/Preparer.html#prepare(bitronix.tm.BitronixTransaction)"><B>prepare(BitronixTransaction)</B></A> -
+Method in class bitronix.tm.twopc.<A HREF="./bitronix/tm/twopc/Preparer.html" title="class in bitronix.tm.twopc">Preparer</A>
+<DD>Execute phase 1 prepare.
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#prepareCall(java.lang.String)"><B>prepareCall(String)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#prepareCall(java.lang.String, int, int)"><B>prepareCall(String, int, int)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#prepareCall(java.lang.String, int, int, int)"><B>prepareCall(String, int, int, int)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#PREPARED"><B>PREPARED</B></A> -
+Static variable in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html#PREPARED"><B>PREPARED</B></A> -
+Static variable in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/Preparer.html" title="class in bitronix.tm.twopc"><B>Preparer</B></A> - Class in <A HREF="./bitronix/tm/twopc/package-summary.html">bitronix.tm.twopc</A><DD>Phase 1 Prepare logic engine.<DT><A HREF="./bitronix/tm/twopc/Preparer.html#Preparer(bitronix.tm.twopc.executor.Executor)"><B>Preparer(Executor)</B></A> -
+Constructor for class bitronix.tm.twopc.<A HREF="./bitronix/tm/twopc/Preparer.html" title="class in bitronix.tm.twopc">Preparer</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#prepareStatement(java.lang.String)"><B>prepareStatement(String)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#prepareStatement(java.lang.String, int)"><B>prepareStatement(String, int)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#prepareStatement(java.lang.String, int, int)"><B>prepareStatement(String, int, int)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#prepareStatement(java.lang.String, int, int, int)"><B>prepareStatement(String, int, int, int)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#prepareStatement(java.lang.String, int[])"><B>prepareStatement(String, int[])</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#prepareStatement(java.lang.String, java.lang.String[])"><B>prepareStatement(String, String[])</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/PropertyUtils.html#propertiesToString(java.lang.Object)"><B>propertiesToString(Object)</B></A> -
+Static method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/PropertyUtils.html" title="class in bitronix.tm.utils">PropertyUtils</A>
+<DD>Return a comma-separated String of r/w properties of the specified object.
+<DT><A HREF="./bitronix/tm/utils/PropertyException.html" title="class in bitronix.tm.utils"><B>PropertyException</B></A> - Exception in <A HREF="./bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A><DD>Thrown by <A HREF="./bitronix/tm/utils/PropertyUtils.html" title="class in bitronix.tm.utils"><CODE>PropertyUtils</CODE></A> when some reflection error occurs.<DT><A HREF="./bitronix/tm/utils/PropertyException.html#PropertyException(java.lang.String, java.lang.Throwable)"><B>Prop [...]
+Constructor for exception bitronix.tm.utils.<A HREF="./bitronix/tm/utils/PropertyException.html" title="class in bitronix.tm.utils">PropertyException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/PropertyException.html#PropertyException(java.lang.String)"><B>PropertyException(String)</B></A> -
+Constructor for exception bitronix.tm.utils.<A HREF="./bitronix/tm/utils/PropertyException.html" title="class in bitronix.tm.utils">PropertyException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/PropertyUtils.html" title="class in bitronix.tm.utils"><B>PropertyUtils</B></A> - Class in <A HREF="./bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A><DD>Smart reflection helper.<DT><A HREF="./bitronix/tm/utils/PropertyUtils.html#PropertyUtils()"><B>PropertyUtils()</B></A> -
+Constructor for class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/PropertyUtils.html" title="class in bitronix.tm.utils">PropertyUtils</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/LruStatementCache.html#put(bitronix.tm.resource.jdbc.JdbcPreparedStatementHandle)"><B>put(JdbcPreparedStatementHandle)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/LruStatementCache.html" title="class in bitronix.tm.resource.jdbc">LruStatementCache</A>
+<DD>A statement is put into the cache.
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html#putCachedStatement(bitronix.tm.resource.jdbc.JdbcPreparedStatementHandle)"><B>putCachedStatement(JdbcPreparedStatementHandle)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A>
+<DD>Put a PreparedStatement in the cache.
+<DT><A HREF="./bitronix/tm/BitronixTransactionSynchronizationRegistry.html#putResource(java.lang.Object, java.lang.Object)"><B>putResource(Object, Object)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm">BitronixTransactionSynchronizationRegistry</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/AbstractXAResourceHolder.html#putXAResourceHolderState(bitronix.tm.BitronixXid, bitronix.tm.internal.XAResourceHolderState)"><B>putXAResourceHolderState(BitronixXid, XAResourceHolderState)</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAResourceHolder.html#putXAResourceHolderState(bitronix.tm.BitronixXid, bitronix.tm.internal.XAResourceHolderState)"><B>putXAResourceHolderState(BitronixXid, XAResourceHolderState)</B></A> -
+Method in interface bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A>
+<DD>Add a <A HREF="./bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><CODE>XAResourceHolderState</CODE></A> of this wrapped resource.
+</DL>
+<HR>
+<A NAME="_R_"><!-- --></A><H2>
+<B>R</B></H2>
+<DL>
+<DT><A HREF="./bitronix/tm/gui/RawTransactionTableModel.html" title="class in bitronix.tm.gui"><B>RawTransactionTableModel</B></A> - Class in <A HREF="./bitronix/tm/gui/package-summary.html">bitronix.tm.gui</A><DD><DT><A HREF="./bitronix/tm/gui/RawTransactionTableModel.html#RawTransactionTableModel(java.io.File)"><B>RawTransactionTableModel(File)</B></A> -
+Constructor for class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/RawTransactionTableModel.html" title="class in bitronix.tm.gui">RawTransactionTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/TransactionLogHeaderPanel.html#read(java.io.File, boolean)"><B>read(File, boolean)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/TransactionLogHeaderPanel.html" title="class in bitronix.tm.gui">TransactionLogHeaderPanel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/PendingTransactionTableModel.html#readFullTransactionLog(java.io.File)"><B>readFullTransactionLog(File)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/PendingTransactionTableModel.html" title="class in bitronix.tm.gui">PendingTransactionTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/TransactionTableModel.html#readFullTransactionLog(java.io.File)"><B>readFullTransactionLog(File)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/TransactionTableModel.html" title="class in bitronix.tm.gui">TransactionTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/TransactionLogCursor.html#readLog()"><B>readLog()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogCursor.html" title="class in bitronix.tm.journal">TransactionLogCursor</A>
+<DD>Fetch the next TransactionLogRecord from log, recalculating the CRC and checking it against the stored one.
+<DT><A HREF="./bitronix/tm/journal/TransactionLogCursor.html#readLog(boolean)"><B>readLog(boolean)</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogCursor.html" title="class in bitronix.tm.journal">TransactionLogCursor</A>
+<DD>Fetch the next TransactionLogRecord from log.
+<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html#rebind(javax.naming.Name, java.lang.Object)"><B>rebind(Name, Object)</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html#rebind(java.lang.String, java.lang.Object)"><B>rebind(String, Object)</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/MessageConsumerWrapper.html#receive()"><B>receive()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms">MessageConsumerWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/MessageConsumerWrapper.html#receive(long)"><B>receive(long)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms">MessageConsumerWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/MessageConsumerWrapper.html#receiveNoWait()"><B>receiveNoWait()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms">MessageConsumerWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/recovery/IncrementalRecoverer.html#recover(bitronix.tm.resource.common.XAResourceProducer)"><B>recover(XAResourceProducer)</B></A> -
+Static method in class bitronix.tm.recovery.<A HREF="./bitronix/tm/recovery/IncrementalRecoverer.html" title="class in bitronix.tm.recovery">IncrementalRecoverer</A>
+<DD>Run incremental recovery on the specified resource.
+<DT><A HREF="./bitronix/tm/recovery/RecoveryHelper.html#recover(bitronix.tm.internal.XAResourceHolderState)"><B>recover(XAResourceHolderState)</B></A> -
+Static method in class bitronix.tm.recovery.<A HREF="./bitronix/tm/recovery/RecoveryHelper.html" title="class in bitronix.tm.recovery">RecoveryHelper</A>
+<DD>Run the recovery process on the target resource.
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#recover(int)"><B>recover(int)</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#recover()"><B>recover()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html#recover(int)"><B>recover(int)</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#recover()"><B>recover()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery"><B>Recoverer</B></A> - Class in <A HREF="./bitronix/tm/recovery/package-summary.html">bitronix.tm.recovery</A><DD>Recovery process implementation.<DT><A HREF="./bitronix/tm/recovery/Recoverer.html#Recoverer()"><B>Recoverer()</B></A> -
+Constructor for class bitronix.tm.recovery.<A HREF="./bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A>
+<DD>
+<DT><A HREF="./bitronix/tm/recovery/RecovererMBean.html" title="interface in bitronix.tm.recovery"><B>RecovererMBean</B></A> - Interface in <A HREF="./bitronix/tm/recovery/package-summary.html">bitronix.tm.recovery</A><DD><A HREF="./bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery"><CODE>Recoverer</CODE></A> Management interface.<DT><A HREF="./bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery"><B>RecoveryException</B></A> - Excepti [...]
+Constructor for exception bitronix.tm.recovery.<A HREF="./bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/recovery/RecoveryException.html#RecoveryException(java.lang.String)"><B>RecoveryException(String)</B></A> -
+Constructor for exception bitronix.tm.recovery.<A HREF="./bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">RecoveryException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/recovery/RecoveryHelper.html" title="class in bitronix.tm.recovery"><B>RecoveryHelper</B></A> - Class in <A HREF="./bitronix/tm/recovery/package-summary.html">bitronix.tm.recovery</A><DD>Reovery helper methods.<DT><A HREF="./bitronix/tm/recovery/RecoveryHelper.html#RecoveryHelper()"><B>RecoveryHelper()</B></A> -
+Constructor for class bitronix.tm.recovery.<A HREF="./bitronix/tm/recovery/RecoveryHelper.html" title="class in bitronix.tm.recovery">RecoveryHelper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/timer/RecoveryTask.html" title="class in bitronix.tm.timer"><B>RecoveryTask</B></A> - Class in <A HREF="./bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A><DD>This task is used to run the background recovery.<DT><A HREF="./bitronix/tm/timer/RecoveryTask.html#RecoveryTask(bitronix.tm.recovery.Recoverer, java.util.Date, bitronix.tm.timer.TaskScheduler)"><B>RecoveryTask(Recoverer, Date, TaskScheduler)</B></A> -
+Constructor for class bitronix.tm.timer.<A HREF="./bitronix/tm/timer/RecoveryTask.html" title="class in bitronix.tm.timer">RecoveryTask</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common"><B>RecoveryXAResourceHolder</B></A> - Class in <A HREF="./bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A><DD><A HREF="./bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceHolder</CODE></A> created by an <A HREF="./bitronix/tm/resource/common/XAResourceProducer.html" title=" [...]
+ used to perform recovery.<DT><A HREF="./bitronix/tm/resource/common/RecoveryXAResourceHolder.html#RecoveryXAResourceHolder(bitronix.tm.resource.common.XAResourceHolder)"><B>RecoveryXAResourceHolder(XAResourceHolder)</B></A> -
+Constructor for class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common">RecoveryXAResourceHolder</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/TransactionContextHelper.html#recycle(bitronix.tm.resource.common.XAStatefulHolder)"><B>recycle(XAStatefulHolder)</B></A> -
+Static method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/TransactionContextHelper.html" title="class in bitronix.tm.resource.common">TransactionContextHelper</A>
+<DD>Ensure the <A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>'s release won't be deferred anymore (when appropriate) as it has been recycled.
+<DT><A HREF="./bitronix/tm/resource/ResourceRegistrar.html#register(bitronix.tm.resource.common.XAResourceProducer)"><B>register(XAResourceProducer)</B></A> -
+Static method in class bitronix.tm.resource.<A HREF="./bitronix/tm/resource/ResourceRegistrar.html" title="class in bitronix.tm.resource">ResourceRegistrar</A>
+<DD>Register a <A HREF="./bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>.
+<DT><A HREF="./bitronix/tm/utils/ManagementRegistrar.html#register(java.lang.String, java.lang.Object)"><B>register(String, Object)</B></A> -
+Static method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/ManagementRegistrar.html" title="class in bitronix.tm.utils">ManagementRegistrar</A>
+<DD>Register the specified management object.
+<DT><A HREF="./bitronix/tm/BitronixTransactionSynchronizationRegistry.html#registerInterposedSynchronization(javax.transaction.Synchronization)"><B>registerInterposedSynchronization(Synchronization)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm">BitronixTransactionSynchronizationRegistry</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransaction.html#registerSynchronization(javax.transaction.Synchronization)"><B>registerSynchronization(Synchronization)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html#registerUncachedStatement(java.sql.Statement)"><B>registerUncachedStatement(Statement)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A>
+<DD>Register uncached statement so that it can be closed when the connection is put back in the pool.
+<DT><A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html#registerXAResource(java.lang.String, javax.transaction.xa.XAResource)"><B>registerXAResource(String, XAResource)</B></A> -
+Static method in class bitronix.tm.resource.ehcache.<A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html" title="class in bitronix.tm.resource.ehcache">EhCacheXAResourceProducer</A>
+<DD>Register an XAResource of a cache with BTM.
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html#release()"><B>release()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JmsPooledConnection.html#release()"><B>release()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#releaseSavepoint(java.sql.Savepoint)"><B>releaseSavepoint(Savepoint)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Scheduler.html#remove(java.lang.Object)"><B>remove(Object)</B></A> -
+Method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils">Scheduler</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#removeConnectionCustomizer(bitronix.tm.resource.jdbc.ConnectionCustomizer)"><B>removeConnectionCustomizer(ConnectionCustomizer)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html#removeConnectionEventListener(javax.sql.ConnectionEventListener)"><B>removeConnectionEventListener(ConnectionEventListener)</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/LruStatementCache.html#removeEvictionListener(bitronix.tm.resource.jdbc.LruEvictionListener)"><B>removeEvictionListener(LruEvictionListener)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/LruStatementCache.html" title="class in bitronix.tm.resource.jdbc">LruStatementCache</A>
+<DD>
+<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html#removeFromEnvironment(java.lang.String)"><B>removeFromEnvironment(String)</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/AbstractXAStatefulHolder.html#removeStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)"><B>removeStateChangeEventListener(StateChangeListener)</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">AbstractXAStatefulHolder</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html#removeStateChangeEventListener(bitronix.tm.resource.common.StateChangeListener)"><B>removeStateChangeEventListener(StateChangeListener)</B></A> -
+Method in interface bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A>
+<DD>Unregister an implementation of <A HREF="./bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common"><CODE>StateChangeListener</CODE></A>.
+<DT><A HREF="./bitronix/tm/gui/PendingTransactionTableModel.html#removeTableModelListener(javax.swing.event.TableModelListener)"><B>removeTableModelListener(TableModelListener)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/PendingTransactionTableModel.html" title="class in bitronix.tm.gui">PendingTransactionTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/RawTransactionTableModel.html#removeTableModelListener(javax.swing.event.TableModelListener)"><B>removeTableModelListener(TableModelListener)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/RawTransactionTableModel.html" title="class in bitronix.tm.gui">RawTransactionTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/ResourcesTreeModel.html#removeTreeModelListener(javax.swing.event.TreeModelListener)"><B>removeTreeModelListener(TreeModelListener)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/ResourcesTreeModel.html" title="class in bitronix.tm.gui">ResourcesTreeModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/TransactionLogRecord.html#removeUniqueNames(java.util.Collection)"><B>removeUniqueNames(Collection)</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/AbstractXAResourceHolder.html#removeXAResourceHolderState(bitronix.tm.BitronixXid)"><B>removeXAResourceHolderState(BitronixXid)</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common">AbstractXAResourceHolder</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAResourceHolder.html#removeXAResourceHolderState(bitronix.tm.BitronixXid)"><B>removeXAResourceHolderState(BitronixXid)</B></A> -
+Method in interface bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A>
+<DD>Remove all states related to a specific Xid from this wrapped resource.
+<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html#rename(javax.naming.Name, javax.naming.Name)"><B>rename(Name, Name)</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html#rename(java.lang.String, java.lang.String)"><B>rename(String, String)</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/TransactionContextHelper.html#requeue(bitronix.tm.resource.common.XAStatefulHolder, bitronix.tm.resource.common.ResourceBean)"><B>requeue(XAStatefulHolder, ResourceBean)</B></A> -
+Static method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/TransactionContextHelper.html" title="class in bitronix.tm.resource.common">TransactionContextHelper</A>
+<DD>Switch the <A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A>'s state appropriately after the acquired resource handle has been closed.
+<DT><A HREF="./bitronix/tm/resource/common/XAPool.html#reset()"><B>reset()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#reset()"><B>reset()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html#reset()"><B>reset()</B></A> -
+Method in interface bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html" title="interface in bitronix.tm.resource.jdbc">PoolingDataSourceMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html#reset()"><B>reset()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html#reset()"><B>reset()</B></A> -
+Method in interface bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" title="interface in bitronix.tm.resource.jms">PoolingConnectionFactoryMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common"><B>ResourceBean</B></A> - Class in <A HREF="./bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A><DD>Abstract javabean container for all common properties of a <A HREF="./bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> as configured in the
+ resources configuration file.<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#ResourceBean()"><B>ResourceBean()</B></A> -
+Constructor for class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>Initialize all properties with their default values.
+<DT><A HREF="./bitronix/tm/resource/ResourceConfigurationException.html" title="class in bitronix.tm.resource"><B>ResourceConfigurationException</B></A> - Exception in <A HREF="./bitronix/tm/resource/package-summary.html">bitronix.tm.resource</A><DD>Thrown when a resource cannot be created due to a configuration error.<DT><A HREF="./bitronix/tm/resource/ResourceConfigurationException.html#ResourceConfigurationException(java.lang.String, java.lang.Throwable)"><B>ResourceConfigurationExcep [...]
+Constructor for exception bitronix.tm.resource.<A HREF="./bitronix/tm/resource/ResourceConfigurationException.html" title="class in bitronix.tm.resource">ResourceConfigurationException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/ResourceConfigurationException.html#ResourceConfigurationException(java.lang.String)"><B>ResourceConfigurationException(String)</B></A> -
+Constructor for exception bitronix.tm.resource.<A HREF="./bitronix/tm/resource/ResourceConfigurationException.html" title="class in bitronix.tm.resource">ResourceConfigurationException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource"><B>ResourceLoader</B></A> - Class in <A HREF="./bitronix/tm/resource/package-summary.html">bitronix.tm.resource</A><DD>XA resources pools configurator & loader.<DT><A HREF="./bitronix/tm/resource/ResourceLoader.html#ResourceLoader()"><B>ResourceLoader()</B></A> -
+Constructor for class bitronix.tm.resource.<A HREF="./bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource">ResourceLoader</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/ResourceObjectFactory.html" title="class in bitronix.tm.resource"><B>ResourceObjectFactory</B></A> - Class in <A HREF="./bitronix/tm/resource/package-summary.html">bitronix.tm.resource</A><DD><A HREF="./bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> object factory for JNDI references.<DT><A HREF="./bitronix/tm/resource/ResourceObjectFactory.html#ResourceObjectFac [...]
+Constructor for class bitronix.tm.resource.<A HREF="./bitronix/tm/resource/ResourceObjectFactory.html" title="class in bitronix.tm.resource">ResourceObjectFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/ResourceRegistrar.html" title="class in bitronix.tm.resource"><B>ResourceRegistrar</B></A> - Class in <A HREF="./bitronix/tm/resource/package-summary.html">bitronix.tm.resource</A><DD>Collection of initialized <A HREF="./bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>s.<DT><A HREF="./bitronix/tm/resource/ResourceRegistrar.html#ResourceRegistrar()"><B>ResourceRegis [...]
+Constructor for class bitronix.tm.resource.<A HREF="./bitronix/tm/resource/ResourceRegistrar.html" title="class in bitronix.tm.resource">ResourceRegistrar</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/ResourcesPanel.html" title="class in bitronix.tm.gui"><B>ResourcesPanel</B></A> - Class in <A HREF="./bitronix/tm/gui/package-summary.html">bitronix.tm.gui</A><DD> <DT><A HREF="./bitronix/tm/gui/ResourcesPanel.html#ResourcesPanel()"><B>ResourcesPanel()</B></A> -
+Constructor for class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/ResourcesPanel.html" title="class in bitronix.tm.gui">ResourcesPanel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/ResourcesTreeModel.html" title="class in bitronix.tm.gui"><B>ResourcesTreeModel</B></A> - Class in <A HREF="./bitronix/tm/gui/package-summary.html">bitronix.tm.gui</A><DD> <DT><A HREF="./bitronix/tm/gui/ResourcesTreeModel.html#ResourcesTreeModel()"><B>ResourcesTreeModel()</B></A> -
+Constructor for class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/ResourcesTreeModel.html" title="class in bitronix.tm.gui">ResourcesTreeModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransactionManager.html#resume(javax.transaction.Transaction)"><B>resume(Transaction)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm">BitronixTransactionManager</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/XAResourceManager.html#resume()"><B>resume()</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal">XAResourceManager</A>
+<DD>Resume all enlisted resources in the current transaction context.
+<DT><A HREF="./bitronix/tm/utils/Scheduler.html#reverseIterator()"><B>reverseIterator()</B></A> -
+Method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils">Scheduler</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/TransactionLogHeader.html#rewind()"><B>rewind()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal">TransactionLogHeader</A>
+<DD>Rewind CURRENT_POSITION_HEADER back to the beginning of the file.
+<DT><A HREF="./bitronix/tm/BitronixTransaction.html#rollback()"><B>rollback()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransactionManager.html#rollback()"><B>rollback()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm">BitronixTransactionManager</A>
+<DD>
+<DT><A HREF="./bitronix/tm/recovery/RecoveryHelper.html#rollback(bitronix.tm.internal.XAResourceHolderState, javax.transaction.xa.Xid)"><B>rollback(XAResourceHolderState, Xid)</B></A> -
+Static method in class bitronix.tm.recovery.<A HREF="./bitronix/tm/recovery/RecoveryHelper.html" title="class in bitronix.tm.recovery">RecoveryHelper</A>
+<DD>Rollback the specified branch of a dangling transaction.
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#rollback()"><B>rollback()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#rollback(java.sql.Savepoint)"><B>rollback(Savepoint)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html#rollback()"><B>rollback()</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html#rollback(java.sql.Savepoint)"><B>rollback(Savepoint)</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#rollback(javax.transaction.xa.Xid)"><B>rollback(Xid)</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#rollback()"><B>rollback()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html#rollback(javax.transaction.xa.Xid)"><B>rollback(Xid)</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#rollback()"><B>rollback()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/Rollbacker.html#rollback(bitronix.tm.BitronixTransaction, java.util.List)"><B>rollback(BitronixTransaction, List)</B></A> -
+Method in class bitronix.tm.twopc.<A HREF="./bitronix/tm/twopc/Rollbacker.html" title="class in bitronix.tm.twopc">Rollbacker</A>
+<DD>Rollback the current XA transaction.
+<DT><A HREF="./bitronix/tm/twopc/Rollbacker.html" title="class in bitronix.tm.twopc"><B>Rollbacker</B></A> - Class in <A HREF="./bitronix/tm/twopc/package-summary.html">bitronix.tm.twopc</A><DD>Phase 1 & 2 Rollback logic engine.<DT><A HREF="./bitronix/tm/twopc/Rollbacker.html#Rollbacker(bitronix.tm.twopc.executor.Executor)"><B>Rollbacker(Executor)</B></A> -
+Constructor for class bitronix.tm.twopc.<A HREF="./bitronix/tm/twopc/Rollbacker.html" title="class in bitronix.tm.twopc">Rollbacker</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/DiskForceBatcherThread.html#run()"><B>run()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/DiskForceBatcherThread.html" title="class in bitronix.tm.journal">DiskForceBatcherThread</A>
+<DD>
+<DT><A HREF="./bitronix/tm/recovery/Recoverer.html#run()"><B>run()</B></A> -
+Method in class bitronix.tm.recovery.<A HREF="./bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A>
+<DD>Run the recovery process.
+<DT><A HREF="./bitronix/tm/recovery/RecovererMBean.html#run()"><B>run()</B></A> -
+Method in interface bitronix.tm.recovery.<A HREF="./bitronix/tm/recovery/RecovererMBean.html" title="interface in bitronix.tm.recovery">RecovererMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#run()"><B>run()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#run()"><B>run()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/timer/TaskScheduler.html#run()"><B>run()</B></A> -
+Method in class bitronix.tm.timer.<A HREF="./bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/executor/Job.html#run()"><B>run()</B></A> -
+Method in class bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/executor/Job.html#runtimeException"><B>runtimeException</B></A> -
+Variable in class bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A>
+<DD>
+</DL>
+<HR>
+<A NAME="_S_"><!-- --></A><H2>
+<B>S</B></H2>
+<DL>
+<DT><A HREF="./bitronix/tm/timer/TaskScheduler.html#schedulePoolShrinking(bitronix.tm.resource.common.XAPool)"><B>schedulePoolShrinking(XAPool)</B></A> -
+Method in class bitronix.tm.timer.<A HREF="./bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A>
+<DD>Schedule a task that will tell a XA pool to close idle connections.
+<DT><A HREF="./bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils"><B>Scheduler</B></A> - Class in <A HREF="./bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A><DD>Positional object container.<DT><A HREF="./bitronix/tm/utils/Scheduler.html#Scheduler()"><B>Scheduler()</B></A> -
+Constructor for class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils">Scheduler</A>
+<DD>
+<DT><A HREF="./bitronix/tm/timer/TaskScheduler.html#scheduleRecovery(bitronix.tm.recovery.Recoverer, java.util.Date)"><B>scheduleRecovery(Recoverer, Date)</B></A> -
+Method in class bitronix.tm.timer.<A HREF="./bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A>
+<DD>Schedule a task that will run background recovery at the specified date.
+<DT><A HREF="./bitronix/tm/timer/TaskScheduler.html#scheduleTransactionTimeout(bitronix.tm.BitronixTransaction, java.util.Date)"><B>scheduleTransactionTimeout(BitronixTransaction, Date)</B></A> -
+Method in class bitronix.tm.timer.<A HREF="./bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A>
+<DD>Schedule a task that will mark the transaction as timed out at the specified date.
+<DT><A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html#send(javax.jms.Message)"><B>send(Message)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms">MessageProducerWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html#send(javax.jms.Message, int, int, long)"><B>send(Message, int, int, long)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms">MessageProducerWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html#send(javax.jms.Destination, javax.jms.Message)"><B>send(Destination, Message)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms">MessageProducerWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html#send(javax.jms.Destination, javax.jms.Message, int, int, long)"><B>send(Destination, Message, int, int, long)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms">MessageProducerWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils"><B>Service</B></A> - Interface in <A HREF="./bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A><DD>All internal services implement this interface.<DT><A HREF="./bitronix/tm/resource/jms/MessageConsumerWrapper.html#session"><B>session</B></A> -
+Variable in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms">MessageConsumerWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html#session"><B>session</B></A> -
+Variable in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms">MessageProducerWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#setAcquireIncrement(int)"><B>setAcquireIncrement(int)</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>Define the amount of connections to be created at once when the pool needs to grow.
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#setAcquisitionInterval(int)"><B>setAcquisitionInterval(int)</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>Set the amount of time in seconds the pool will wait before trying to acquire a connection again after an
+ invalid connection has been attempted to be acquired.
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#setAcquisitionTimeout(int)"><B>setAcquisitionTimeout(int)</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>Define the amount of time in seconds a call to get a connection from the pool will wait when the pool is empty.
+<DT><A HREF="./bitronix/tm/BitronixTransaction.html#setActive(int)"><B>setActive(int)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/DiskForceBatcherThread.html#setAlive(boolean)"><B>setAlive(boolean)</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/DiskForceBatcherThread.html" title="class in bitronix.tm.journal">DiskForceBatcherThread</A>
+<DD>Thread will run for as long as this flag is not false.
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#setAllowLocalTransactions(boolean)"><B>setAllowLocalTransactions(boolean)</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>Set if the transaction manager should allow mixing XA and non-XA transactions.
+<DT><A HREF="./bitronix/tm/Configuration.html#setAllowMultipleLrc(boolean)"><B>setAllowMultipleLrc(boolean)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Set to true if the transaction manager should allow enlistment of multiple LRC resources in a single transaction.
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#setApplyTransactionTimeout(boolean)"><B>setApplyTransactionTimeout(boolean)</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>Set if the transaction-timeout should be set on the XAResource when the XAResource is
+ enlisted.
+<DT><A HREF="./bitronix/tm/Configuration.html#setAsynchronous2Pc(boolean)"><B>setAsynchronous2Pc(boolean)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Set if two phase commit should be executed asynchronously.
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#setAutoCommit(boolean)"><B>setAutoCommit(boolean)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html#setAutoCommit(boolean)"><B>setAutoCommit(boolean)</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#setAutomaticEnlistingEnabled(boolean)"><B>setAutomaticEnlistingEnabled(boolean)</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>Specify if the XA resource wrapper should enlist/delist this resource automatically in global transactions.
+<DT><A HREF="./bitronix/tm/Configuration.html#setBackgroundRecoveryInterval(int)"><B>setBackgroundRecoveryInterval(int)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD><B>Deprecated.</B> <I>superceded by #setBackgroundRecoveryIntervalSeconds(int).</I>
+<DT><A HREF="./bitronix/tm/Configuration.html#setBackgroundRecoveryIntervalSeconds(int)"><B>setBackgroundRecoveryIntervalSeconds(int)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Set the interval in seconds at which to run the recovery process in the background.
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html#setCacheProducersConsumers(boolean)"><B>setCacheProducersConsumers(boolean)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#setClassName(java.lang.String)"><B>setClassName(String)</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>Specify the underlying implementation class name of the XA resource described by this bean.
+<DT><A HREF="./bitronix/tm/resource/jms/JmsConnectionHandle.html#setClientID(java.lang.String)"><B>setClientID(String)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsConnectionHandle.html" title="class in bitronix.tm.resource.jms">JmsConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnection.html#setClientID(java.lang.String)"><B>setClientID(String)</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html#setConnectionFactoryClassName(java.lang.String)"><B>setConnectionFactoryClassName(String)</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/Configuration.html#setCurrentNodeOnlyRecovery(boolean)"><B>setCurrentNodeOnlyRecovery(boolean)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Set to true if recovery should filter out recovered XIDs that do not contain this JVM's unique ID, false otherwise.
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#setCursorHoldability(java.lang.String)"><B>setCursorHoldability(String)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>Set the default cursor holdability for connections.
+<DT><A HREF="./bitronix/tm/Configuration.html#setDefaultTransactionTimeout(int)"><B>setDefaultTransactionTimeout(int)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Set the default transaction timeout in seconds.
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#setDeferConnectionRelease(boolean)"><B>setDeferConnectionRelease(boolean)</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>Define the transaction interleaving capability of the database.
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#setDelegate(java.sql.PreparedStatement)"><B>setDelegate(PreparedStatement)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html#setDeliveryMode(int)"><B>setDeliveryMode(int)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms">MessageProducerWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#setDisabled(boolean)"><B>setDisabled(boolean)</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>Set whether this resource is disabled, meaning it's temporarily forbidden to acquire
+ a connection from its pool.
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html#setDisabled(boolean)"><B>setDisabled(boolean)</B></A> -
+Method in interface bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html" title="interface in bitronix.tm.resource.jdbc">PoolingDataSourceMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html#setDisabled(boolean)"><B>setDisabled(boolean)</B></A> -
+Method in interface bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" title="interface in bitronix.tm.resource.jms">PoolingConnectionFactoryMBean</A>
+<DD>
+<DT><A HREF="./bitronix/tm/Configuration.html#setDisableJmx(boolean)"><B>setDisableJmx(boolean)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Set to true if JMX Mbeans should not be registered even if a JMX MBean server is detected.
+<DT><A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html#setDisableMessageID(boolean)"><B>setDisableMessageID(boolean)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms">MessageProducerWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html#setDisableMessageTimestamp(boolean)"><B>setDisableMessageTimestamp(boolean)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms">MessageProducerWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#setDriverClassName(java.lang.String)"><B>setDriverClassName(String)</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXADataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#setDriverProperties(java.util.Properties)"><B>setDriverProperties(Properties)</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>Set the properties that should be set on the underlying implementation.
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#setEnableJdbc4ConnectionTest(boolean)"><B>setEnableJdbc4ConnectionTest(boolean)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>When set and the underlying JDBC driver supports JDBC 4 isValid(), a Connection.isValid() call
+ is performed to test the connection before handing it to the caller.
+<DT><A HREF="./bitronix/tm/resource/jms/JmsConnectionHandle.html#setExceptionListener(javax.jms.ExceptionListener)"><B>setExceptionListener(ExceptionListener)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsConnectionHandle.html" title="class in bitronix.tm.resource.jms">JmsConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnection.html#setExceptionListener(javax.jms.ExceptionListener)"><B>setExceptionListener(ExceptionListener)</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/timer/Task.html#setExecutionTime(java.util.Date)"><B>setExecutionTime(Date)</B></A> -
+Method in class bitronix.tm.timer.<A HREF="./bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer">Task</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html#setExtraJndiProperties(java.util.Properties)"><B>setExtraJndiProperties(Properties)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms">JndiXAConnectionFactory</A>
+<DD>Set the extra JNDI environment properties added the the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/InitialContext.html?is-external=true" title="class or interface in javax.naming"><CODE>InitialContext</CODE></A>'s environment upon creation.
+<DT><A HREF="./bitronix/tm/resource/common/XAPool.html#setFailed(boolean)"><B>setFailed(boolean)</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAResourceProducer.html#setFailed(boolean)"><B>setFailed(boolean)</B></A> -
+Method in interface bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A>
+<DD>Mark this resource producer as failed or not.
+<DT><A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html#setFailed(boolean)"><B>setFailed(boolean)</B></A> -
+Method in class bitronix.tm.resource.ehcache.<A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html" title="class in bitronix.tm.resource.ehcache">EhCacheXAResourceProducer</A>
+<DD>Mark this resource producer as failed or not.
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#setFailed(boolean)"><B>setFailed(boolean)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html#setFailed(boolean)"><B>setFailed(boolean)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/Configuration.html#setFilterLogStatus(boolean)"><B>setFilterLogStatus(boolean)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Set if only mandatory logs should be written.
+<DT><A HREF="./bitronix/tm/Configuration.html#setForceBatchingEnabled(boolean)"><B>setForceBatchingEnabled(boolean)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Set if disk forces are batched.
+<DT><A HREF="./bitronix/tm/Configuration.html#setForcedWriteEnabled(boolean)"><B>setForcedWriteEnabled(boolean)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Set if logs are forced to disk.
+<DT><A HREF="./bitronix/tm/journal/TransactionLogHeader.html#setFormatId(int)"><B>setFormatId(int)</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal">TransactionLogHeader</A>
+<DD>Set FORMAT_ID_HEADER.
+<DT><A HREF="./bitronix/tm/twopc/executor/Job.html#setFuture(java.lang.Object)"><B>setFuture(Object)</B></A> -
+Method in class bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A>
+<DD>
+<DT><A HREF="./bitronix/tm/Configuration.html#setGracefulShutdownInterval(int)"><B>setGracefulShutdownInterval(int)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Set the maximum amount of seconds the TM will wait for transactions to get done before aborting them at shutdown
+ time.
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#setIgnoreRecoveryFailures(boolean)"><B>setIgnoreRecoveryFailures(boolean)</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>Set whether XA recovery errors should quarantine the resource or be ignored.
+<DT><A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html#setInitialContextFactory(java.lang.String)"><B>setInitialContextFactory(String)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms">JndiXAConnectionFactory</A>
+<DD>Set the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#INITIAL_CONTEXT_FACTORY" title="class or interface in javax.naming"><CODE>Context.INITIAL_CONTEXT_FACTORY</CODE></A> of the JNDI <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> used to fetch the <CODE>XAConnectionFactory</CODE>.
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#setIsolationLevel(java.lang.String)"><B>setIsolationLevel(String)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>Set the default isolation level for connections.
+<DT><A HREF="./bitronix/tm/Configuration.html#setJndiTransactionSynchronizationRegistryName(java.lang.String)"><B>setJndiTransactionSynchronizationRegistryName(String)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Set the name the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionSynchronizationRegistry.html?is-external=true" title="class or interface in javax.transaction"><CODE>TransactionSynchronizationRegistry</CODE></A> should be bound under in the
+ <A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi"><CODE>BitronixContext</CODE></A>.
+<DT><A HREF="./bitronix/tm/Configuration.html#setJndiUserTransactionName(java.lang.String)"><B>setJndiUserTransactionName(String)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Set the name the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/UserTransaction.html?is-external=true" title="class or interface in javax.transaction"><CODE>UserTransaction</CODE></A> should be bound under in the
+ <A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi"><CODE>BitronixContext</CODE></A>.
+<DT><A HREF="./bitronix/tm/Configuration.html#setJournal(java.lang.String)"><B>setJournal(String)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Set the journal name.
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#setLocalAutoCommit(java.lang.String)"><B>setLocalAutoCommit(String)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>Set the default local transactions autocommit mode.
+<DT><A HREF="./bitronix/tm/gui/TransactionLogHeaderPanel.html#setLogFile(java.io.File)"><B>setLogFile(File)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/TransactionLogHeaderPanel.html" title="class in bitronix.tm.gui">TransactionLogHeaderPanel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#setLoginTimeout(int)"><B>setLoginTimeout(int)</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXADataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#setLoginTimeout(int)"><B>setLoginTimeout(int)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/Configuration.html#setLogPart1Filename(java.lang.String)"><B>setLogPart1Filename(String)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Set the journal fragment file 1 name.
+<DT><A HREF="./bitronix/tm/Configuration.html#setLogPart2Filename(java.lang.String)"><B>setLogPart2Filename(String)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Set the journal fragment file 2 name.
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#setLogWriter(java.io.PrintWriter)"><B>setLogWriter(PrintWriter)</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXADataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#setLogWriter(java.io.PrintWriter)"><B>setLogWriter(PrintWriter)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#setMaxIdleTime(int)"><B>setMaxIdleTime(int)</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>Define the amount of seconds and idle connection can stay in the pool before getting closed.
+<DT><A HREF="./bitronix/tm/Configuration.html#setMaxLogSizeInMb(int)"><B>setMaxLogSizeInMb(int)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Set the Maximum size in megabytes of the journal fragments.
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#setMaxPoolSize(int)"><B>setMaxPoolSize(int)</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>Define the maximum amount of connections that can be in the pool.
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#setMessageListener(javax.jms.MessageListener)"><B>setMessageListener(MessageListener)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#setMessageListener(javax.jms.MessageListener)"><B>setMessageListener(MessageListener)</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/MessageConsumerWrapper.html#setMessageListener(javax.jms.MessageListener)"><B>setMessageListener(MessageListener)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms">MessageConsumerWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#setMinPoolSize(int)"><B>setMinPoolSize(int)</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>Define the minimal amount of connections that can be in the pool.
+<DT><A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html#setName(java.lang.String)"><B>setName(String)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms">JndiXAConnectionFactory</A>
+<DD>Set the JNDI name under which the <CODE>XAConnectionFactory</CODE> is available.
+<DT><A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html#setNarrowJndiObject(boolean)"><B>setNarrowJndiObject(boolean)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms">JndiXAConnectionFactory</A>
+<DD>Set if <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/rmi/PortableRemoteObject.html?is-external=true#narrow(java.lang.Object, java.lang.Class)" title="class or interface in javax.rmi"><CODE>PortableRemoteObject.narrow(Object, Class)</CODE></A> should be applied on the object looked up from
+ JNDI before trying to cast it to <CODE>XAConnectionFactory</CODE> ?
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#setPassword(java.lang.String)"><B>setPassword(String)</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXADataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html#setPassword(java.lang.String)"><B>setPassword(String)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#setPooledConnection(bitronix.tm.resource.jdbc.JdbcPooledConnection)"><B>setPooledConnection(JdbcPooledConnection)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A>
+<DD>Set the parent connection that created this statement.
+<DT><A HREF="./bitronix/tm/gui/TransactionLogHeaderPanel.html#setPosition(long)"><B>setPosition(long)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/TransactionLogHeaderPanel.html" title="class in bitronix.tm.gui">TransactionLogHeaderPanel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/TransactionLogHeader.html#setPosition(long)"><B>setPosition(long)</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal">TransactionLogHeader</A>
+<DD>Set CURRENT_POSITION_HEADER.
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#setPreparedStatementCacheSize(int)"><B>setPreparedStatementCacheSize(int)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>Set the target maximum size of the prepared statement cache.
+<DT><A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html#setPriority(int)"><B>setPriority(int)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms">MessageProducerWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html#setProperties(java.util.Properties)"><B>setProperties(Properties)</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/PropertyUtils.html#setProperties(java.lang.Object, java.util.Map)"><B>setProperties(Object, Map)</B></A> -
+Static method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/PropertyUtils.html" title="class in bitronix.tm.utils">PropertyUtils</A>
+<DD>Set a <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util"><CODE>Map</CODE></A> of direct or indirect properties on the target object.
+<DT><A HREF="./bitronix/tm/utils/PropertyUtils.html#setProperty(java.lang.Object, java.lang.String, java.lang.Object)"><B>setProperty(Object, String, Object)</B></A> -
+Static method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/PropertyUtils.html" title="class in bitronix.tm.utils">PropertyUtils</A>
+<DD>Set a direct or indirect property (dotted property: prop1.prop2.prop3) on the target object.
+<DT><A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html#setProviderUrl(java.lang.String)"><B>setProviderUrl(String)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms">JndiXAConnectionFactory</A>
+<DD>Set the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#PROVIDER_URL" title="class or interface in javax.naming"><CODE>Context.PROVIDER_URL</CODE></A> of the JNDI <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> used to fetch the <CODE>XAConnectionFactory</CODE>.
+<DT><A HREF="./bitronix/tm/Configuration.html#setResourceConfigurationFilename(java.lang.String)"><B>setResourceConfigurationFilename(String)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Set the <A HREF="./bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource"><CODE>ResourceLoader</CODE></A> configuration file name.
+<DT><A HREF="./bitronix/tm/BitronixTransaction.html#setRollbackOnly()"><B>setRollbackOnly()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransactionManager.html#setRollbackOnly()"><B>setRollbackOnly()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm">BitronixTransactionManager</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransactionSynchronizationRegistry.html#setRollbackOnly()"><B>setRollbackOnly()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm">BitronixTransactionSynchronizationRegistry</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#setSavepoint()"><B>setSavepoint()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#setSavepoint(java.lang.String)"><B>setSavepoint(String)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html#setSecurityCredentials(java.lang.String)"><B>setSecurityCredentials(String)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms">JndiXAConnectionFactory</A>
+<DD>Set the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#SECURITY_CREDENTIALS" title="class or interface in javax.naming"><CODE>Context.SECURITY_CREDENTIALS</CODE></A> of the JNDI <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> used to fetch the <CODE>XAConnectionFactory</CODE>.
+<DT><A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html#setSecurityPrincipal(java.lang.String)"><B>setSecurityPrincipal(String)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms">JndiXAConnectionFactory</A>
+<DD>Set the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#SECURITY_PRINCIPAL" title="class or interface in javax.naming"><CODE>Context.SECURITY_PRINCIPAL</CODE></A> of the JNDI <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> used to fetch the <CODE>XAConnectionFactory</CODE>.
+<DT><A HREF="./bitronix/tm/Configuration.html#setServerId(java.lang.String)"><B>setServerId(String)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Set the ASCII ID that must uniquely identify this TM instance.
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#setShareTransactionConnections(boolean)"><B>setShareTransactionConnections(boolean)</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>Set whether connections in the ACCESSIBLE state can be shared within the context
+ of a transaction.
+<DT><A HREF="./bitronix/tm/Configuration.html#setSkipCorruptedLogs(boolean)"><B>setSkipCorruptedLogs(boolean)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Set if corrupted logs should be skipped.
+<DT><A HREF="./bitronix/tm/gui/TransactionLogHeaderPanel.html#setState(byte)"><B>setState(byte)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/TransactionLogHeaderPanel.html" title="class in bitronix.tm.gui">TransactionLogHeaderPanel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/TransactionLogHeader.html#setState(byte)"><B>setState(byte)</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal">TransactionLogHeader</A>
+<DD>Set STATE_HEADER.
+<DT><A HREF="./bitronix/tm/resource/common/AbstractXAStatefulHolder.html#setState(int)"><B>setState(int)</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common">AbstractXAStatefulHolder</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html#setState(int)"><B>setState(int)</B></A> -
+Method in interface bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A>
+<DD>Set the current resource state.
+<DT><A HREF="./bitronix/tm/BitronixTransaction.html#setStatus(int)"><B>setStatus(int)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransaction.html#setStatus(int, java.util.Set)"><B>setStatus(int, Set)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html#setTestConnections(boolean)"><B>setTestConnections(boolean)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#setTestQuery(java.lang.String)"><B>setTestQuery(String)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>When set, the specified query will be executed on the connection acquired from the pool before being handed to
+ the caller.
+<DT><A HREF="./bitronix/tm/internal/ThreadContext.html#setTimeout(int)"><B>setTimeout(int)</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/ThreadContext.html" title="class in bitronix.tm.internal">ThreadContext</A>
+<DD>Set this context's default timeout.
+<DT><A HREF="./bitronix/tm/gui/TransactionLogHeaderPanel.html#setTimestamp(long)"><B>setTimestamp(long)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/TransactionLogHeaderPanel.html" title="class in bitronix.tm.gui">TransactionLogHeaderPanel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/TransactionLogHeader.html#setTimestamp(long)"><B>setTimestamp(long)</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal">TransactionLogHeader</A>
+<DD>Set TIMESTAMP_HEADER.
+<DT><A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html#setTimeToLive(long)"><B>setTimeToLive(long)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms">MessageProducerWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/ThreadContext.html#setTransaction(bitronix.tm.BitronixTransaction)"><B>setTransaction(BitronixTransaction)</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/ThreadContext.html" title="class in bitronix.tm.internal">ThreadContext</A>
+<DD>Link a transaction with this thead context.
+<DT><A HREF="./bitronix/tm/BitronixTransactionManager.html#setTransactionTimeout(int)"><B>setTransactionTimeout(int)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm">BitronixTransactionManager</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#setTransactionTimeout(int)"><B>setTransactionTimeout(int)</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html#setTransactionTimeout(int)"><B>setTransactionTimeout(int)</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/XAResourceHolderState.html#setTransactionTimeoutDate(java.util.Date)"><B>setTransactionTimeoutDate(Date)</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#setTwoPcOrderingPosition(int)"><B>setTwoPcOrderingPosition(int)</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>Set the position at which this resource should stand during 2PC commit.
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#setUniqueName(java.lang.String)"><B>setUniqueName(String)</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>Specify the resource unique name to be used to identify this resource during recovery.
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#setUrl(java.lang.String)"><B>setUrl(String)</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXADataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html#setUrlPkgPrefixes(java.lang.String)"><B>setUrlPkgPrefixes(String)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms">JndiXAConnectionFactory</A>
+<DD>Set the <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true#URL_PKG_PREFIXES" title="class or interface in javax.naming"><CODE>Context.URL_PKG_PREFIXES</CODE></A> of the JNDI <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming"><CODE>Context</CODE></A> used to fetch the <CODE>XAConnectionFactory</CODE>.
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#setUser(java.lang.String)"><B>setUser(String)</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXADataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html#setUser(java.lang.String)"><B>setUser(String)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/ResourceBean.html#setUseTmJoin(boolean)"><B>setUseTmJoin(boolean)</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A>
+<DD>Specify if the transaction manager should try to join resources by calling
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#start(javax.transaction.xa.Xid, int)" title="class or interface in javax.transaction.xa"><CODE>XAResource.start(javax.transaction.xa.Xid, int)</CODE></A> with
+ <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true#TMJOIN" title="class or interface in javax.transaction.xa"><CODE>XAResource.TMJOIN</CODE></A>.
+<DT><A HREF="./bitronix/tm/gui/PendingTransactionTableModel.html#setValueAt(java.lang.Object, int, int)"><B>setValueAt(Object, int, int)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/PendingTransactionTableModel.html" title="class in bitronix.tm.gui">PendingTransactionTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/RawTransactionTableModel.html#setValueAt(java.lang.Object, int, int)"><B>setValueAt(Object, int, int)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/RawTransactionTableModel.html" title="class in bitronix.tm.gui">RawTransactionTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/Configuration.html#setWarnAboutZeroResourceTransaction(boolean)"><B>setWarnAboutZeroResourceTransaction(boolean)</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>Set if transactions executed without a single enlisted resource should result in a warning or not.
+<DT><A HREF="./bitronix/tm/internal/XAResourceHolderState.html#setXid(bitronix.tm.BitronixXid)"><B>setXid(BitronixXid)</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Encoder.html#shortToBytes(short)"><B>shortToBytes(short)</B></A> -
+Static method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Encoder.html" title="class in bitronix.tm.utils">Encoder</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAPool.html#shrink()"><B>shrink()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransactionManager.html#shutdown()"><B>shutdown()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm">BitronixTransactionManager</A>
+<DD>Shut down the transaction manager and release all resources held by it.
+<DT><A HREF="./bitronix/tm/Configuration.html#shutdown()"><B>shutdown()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/DiskJournal.html#shutdown()"><B>shutdown()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/DiskJournal.html" title="class in bitronix.tm.journal">DiskJournal</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/NullJournal.html#shutdown()"><B>shutdown()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/NullJournal.html" title="class in bitronix.tm.journal">NullJournal</A>
+<DD>
+<DT><A HREF="./bitronix/tm/recovery/Recoverer.html#shutdown()"><B>shutdown()</B></A> -
+Method in class bitronix.tm.recovery.<A HREF="./bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery">Recoverer</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/ResourceLoader.html#shutdown()"><B>shutdown()</B></A> -
+Method in class bitronix.tm.resource.<A HREF="./bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource">ResourceLoader</A>
+<DD>
+<DT><A HREF="./bitronix/tm/timer/TaskScheduler.html#shutdown()"><B>shutdown()</B></A> -
+Method in class bitronix.tm.timer.<A HREF="./bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/executor/ConcurrentExecutor.html#shutdown()"><B>shutdown()</B></A> -
+Method in class bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/ConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor">ConcurrentExecutor</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/executor/Executor.html#shutdown()"><B>shutdown()</B></A> -
+Method in interface bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A>
+<DD>Shutdown the thead pool.
+<DT><A HREF="./bitronix/tm/twopc/executor/SimpleAsyncExecutor.html#shutdown()"><B>shutdown()</B></A> -
+Method in class bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/SimpleAsyncExecutor.html" title="class in bitronix.tm.twopc.executor">SimpleAsyncExecutor</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/executor/SyncExecutor.html#shutdown()"><B>shutdown()</B></A> -
+Method in class bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/SyncExecutor.html" title="class in bitronix.tm.twopc.executor">SyncExecutor</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Service.html#shutdown()"><B>shutdown()</B></A> -
+Method in interface bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A>
+<DD>Shutdown the service and free all held resources.
+<DT><A HREF="./bitronix/tm/twopc/executor/SimpleAsyncExecutor.html" title="class in bitronix.tm.twopc.executor"><B>SimpleAsyncExecutor</B></A> - Class in <A HREF="./bitronix/tm/twopc/executor/package-summary.html">bitronix.tm.twopc.executor</A><DD>This implementation spawns a new thread per request.<DT><A HREF="./bitronix/tm/twopc/executor/SimpleAsyncExecutor.html#SimpleAsyncExecutor()"><B>SimpleAsyncExecutor()</B></A> -
+Constructor for class bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/SimpleAsyncExecutor.html" title="class in bitronix.tm.twopc.executor">SimpleAsyncExecutor</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/XAResourceManager.html#size()"><B>size()</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal">XAResourceManager</A>
+<DD>Get the enlisted resources count.
+<DT><A HREF="./bitronix/tm/journal/DiskForceWaitQueue.html#size()"><B>size()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/DiskForceWaitQueue.html" title="class in bitronix.tm.journal">DiskForceWaitQueue</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Scheduler.html#size()"><B>size()</B></A> -
+Method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils">Scheduler</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/XAResourceHolderState.html#start(int)"><B>start(int)</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#start(javax.transaction.xa.Xid, int)"><B>start(Xid, int)</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JmsConnectionHandle.html#start()"><B>start()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsConnectionHandle.html" title="class in bitronix.tm.resource.jms">JmsConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnection.html#start()"><B>start()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html#start(javax.transaction.xa.Xid, int)"><B>start(Xid, int)</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#STARTED"><B>STARTED</B></A> -
+Static variable in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html#STARTED"><B>STARTED</B></A> -
+Static variable in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAResourceProducer.html#startRecovery()"><B>startRecovery()</B></A> -
+Method in interface bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A>
+<DD>Prepare the recoverable <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> producer for recovery.
+<DT><A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html#startRecovery()"><B>startRecovery()</B></A> -
+Method in class bitronix.tm.resource.ehcache.<A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html" title="class in bitronix.tm.resource.ehcache">EhCacheXAResourceProducer</A>
+<DD>Prepare the recoverable <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> producer for recovery.
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#startRecovery()"><B>startRecovery()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html#startRecovery()"><B>startRecovery()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html#STATE_ACCESSIBLE"><B>STATE_ACCESSIBLE</B></A> -
+Static variable in interface bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A>
+<DD>The state in which the resource is when it out of the pool but accessible by the application.
+<DT><A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html#STATE_CLOSED"><B>STATE_CLOSED</B></A> -
+Static variable in interface bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A>
+<DD>The state in which the resource is when it is closed and unusable.
+<DT><A HREF="./bitronix/tm/journal/TransactionLogHeader.html#STATE_HEADER"><B>STATE_HEADER</B></A> -
+Static variable in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal">TransactionLogHeader</A>
+<DD>Position of the log file state in the header.
+<DT><A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html#STATE_IN_POOL"><B>STATE_IN_POOL</B></A> -
+Static variable in interface bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A>
+<DD>The state in which the resource is when it is available in the pool.
+<DT><A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html#STATE_NOT_ACCESSIBLE"><B>STATE_NOT_ACCESSIBLE</B></A> -
+Static variable in interface bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A>
+<DD>The state in which the resource is when it out of the pool but not accessible by the application.
+<DT><A HREF="./bitronix/tm/resource/common/StateChangeListener.html#stateChanged(bitronix.tm.resource.common.XAStatefulHolder, int, int)"><B>stateChanged(XAStatefulHolder, int, int)</B></A> -
+Method in interface bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A>
+<DD>Fired when the internal state of a <A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> has changed.
+<DT><A HREF="./bitronix/tm/resource/common/XAPool.html#stateChanged(bitronix.tm.resource.common.XAStatefulHolder, int, int)"><B>stateChanged(XAStatefulHolder, int, int)</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html#stateChanged(bitronix.tm.resource.common.XAStatefulHolder, int, int)"><B>stateChanged(XAStatefulHolder, int, int)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#stateChanged(bitronix.tm.resource.common.XAStatefulHolder, int, int)"><B>stateChanged(XAStatefulHolder, int, int)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common"><B>StateChangeListener</B></A> - Interface in <A HREF="./bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A><DD><A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> state change listener interface.<DT><A HREF="./bitronix/tm/resource/common/StateChangeL [...]
+Method in interface bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A>
+<DD>Fired before the internal state of a <A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common"><CODE>XAStatefulHolder</CODE></A> has changed.
+<DT><A HREF="./bitronix/tm/resource/common/XAPool.html#stateChanging(bitronix.tm.resource.common.XAStatefulHolder, int, int)"><B>stateChanging(XAStatefulHolder, int, int)</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html#stateChanging(bitronix.tm.resource.common.XAStatefulHolder, int, int)"><B>stateChanging(XAStatefulHolder, int, int)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#stateChanging(bitronix.tm.resource.common.XAStatefulHolder, int, int)"><B>stateChanging(XAStatefulHolder, int, int)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/TransactionStatusChangeListener.html#statusChanged(int, int)"><B>statusChanged(int, int)</B></A> -
+Method in interface bitronix.tm.internal.<A HREF="./bitronix/tm/internal/TransactionStatusChangeListener.html" title="interface in bitronix.tm.internal">TransactionStatusChangeListener</A>
+<DD>Fired when the status of a <A HREF="./bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm"><CODE>BitronixTransaction</CODE></A> has changed.
+<DT><A HREF="./bitronix/tm/resource/jms/JmsConnectionHandle.html#stop()"><B>stop()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsConnectionHandle.html" title="class in bitronix.tm.resource.jms">JmsConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnection.html#stop()"><B>stop()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/executor/ConcurrentExecutor.html#submit(bitronix.tm.twopc.executor.Job)"><B>submit(Job)</B></A> -
+Method in class bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/ConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor">ConcurrentExecutor</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/executor/Executor.html#submit(bitronix.tm.twopc.executor.Job)"><B>submit(Job)</B></A> -
+Method in interface bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A>
+<DD>Submit a job to be executed by the thread pool.
+<DT><A HREF="./bitronix/tm/twopc/executor/SimpleAsyncExecutor.html#submit(bitronix.tm.twopc.executor.Job)"><B>submit(Job)</B></A> -
+Method in class bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/SimpleAsyncExecutor.html" title="class in bitronix.tm.twopc.executor">SimpleAsyncExecutor</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/executor/SyncExecutor.html#submit(bitronix.tm.twopc.executor.Job)"><B>submit(Job)</B></A> -
+Method in class bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/SyncExecutor.html" title="class in bitronix.tm.twopc.executor">SyncExecutor</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransactionManager.html#suspend()"><B>suspend()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm">BitronixTransactionManager</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/XAResourceManager.html#suspend()"><B>suspend()</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal">XAResourceManager</A>
+<DD>Suspend all enlisted resources from the current transaction context.
+<DT><A HREF="./bitronix/tm/twopc/executor/SyncExecutor.html" title="class in bitronix.tm.twopc.executor"><B>SyncExecutor</B></A> - Class in <A HREF="./bitronix/tm/twopc/executor/package-summary.html">bitronix.tm.twopc.executor</A><DD>This implementation executes submitted jobs synchronously.<DT><A HREF="./bitronix/tm/twopc/executor/SyncExecutor.html#SyncExecutor()"><B>SyncExecutor()</B></A> -
+Constructor for class bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/SyncExecutor.html" title="class in bitronix.tm.twopc.executor">SyncExecutor</A>
+<DD>
+</DL>
+<HR>
+<A NAME="_T_"><!-- --></A><H2>
+<B>T</B></H2>
+<DL>
+<DT><A HREF="./bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer"><B>Task</B></A> - Class in <A HREF="./bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A><DD>Asbtract superclass of all timed tasks.<DT><A HREF="./bitronix/tm/timer/Task.html#Task(java.util.Date, bitronix.tm.timer.TaskScheduler)"><B>Task(Date, TaskScheduler)</B></A> -
+Constructor for class bitronix.tm.timer.<A HREF="./bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer">Task</A>
+<DD>
+<DT><A HREF="./bitronix/tm/timer/TaskException.html" title="class in bitronix.tm.timer"><B>TaskException</B></A> - Exception in <A HREF="./bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A><DD>Thrown when an error occurs during the execution of a task.<DT><A HREF="./bitronix/tm/timer/TaskException.html#TaskException(java.lang.String, java.lang.Throwable)"><B>TaskException(String, Throwable)</B></A> -
+Constructor for exception bitronix.tm.timer.<A HREF="./bitronix/tm/timer/TaskException.html" title="class in bitronix.tm.timer">TaskException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer"><B>TaskScheduler</B></A> - Class in <A HREF="./bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A><DD>Timed tasks service.<DT><A HREF="./bitronix/tm/timer/TaskScheduler.html#TaskScheduler()"><B>TaskScheduler()</B></A> -
+Constructor for class bitronix.tm.timer.<A HREF="./bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer">TaskScheduler</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/ThreadContext.html" title="class in bitronix.tm.internal"><B>ThreadContext</B></A> - Class in <A HREF="./bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A><DD>Transactional context of a thread.<DT><A HREF="./bitronix/tm/internal/ThreadContext.html#ThreadContext()"><B>ThreadContext()</B></A> -
+Constructor for class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/ThreadContext.html" title="class in bitronix.tm.internal">ThreadContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransaction.html#timedOut()"><B>timedOut()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransaction.html#timeout()"><B>timeout()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/TransactionLogHeader.html#TIMESTAMP_HEADER"><B>TIMESTAMP_HEADER</B></A> -
+Static variable in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal">TransactionLogHeader</A>
+<DD>Position of the timestamp in the header.
+<DT><A HREF="./bitronix/tm/gui/TransactionTableModel.html#tLogs"><B>tLogs</B></A> -
+Variable in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/TransactionTableModel.html" title="class in bitronix.tm.gui">TransactionTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/TopicSubscriberWrapper.html" title="class in bitronix.tm.resource.jms"><B>TopicSubscriberWrapper</B></A> - Class in <A HREF="./bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A><DD><CODE>TopicSubscriber</CODE> wrapper that adds XA enlistment semantics.<DT><A HREF="./bitronix/tm/resource/jms/TopicSubscriberWrapper.html#TopicSubscriberWrapper(javax.jms.TopicSubscriber, bitronix.tm.resource.jms.DualSessionWrapper, bitronix.tm. [...]
+Constructor for class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/TopicSubscriberWrapper.html" title="class in bitronix.tm.resource.jms">TopicSubscriberWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransaction.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm">BitronixTransaction</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixTransactionManager.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm">BitronixTransactionManager</A>
+<DD>
+<DT><A HREF="./bitronix/tm/BitronixXid.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/BitronixXid.html" title="class in bitronix.tm">BitronixXid</A>
+<DD>Get a human-readable string representation of the XID.
+<DT><A HREF="./bitronix/tm/Configuration.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.<A HREF="./bitronix/tm/Configuration.html" title="class in bitronix.tm">Configuration</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/ThreadContext.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/ThreadContext.html" title="class in bitronix.tm.internal">ThreadContext</A>
+<DD>Return a human-readable representation.
+<DT><A HREF="./bitronix/tm/internal/XAResourceHolderState.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/XAResourceManager.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal">XAResourceManager</A>
+<DD>Return a human-readable representation of this object.
+<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/jndi/BitronixInitialContextFactory.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixInitialContextFactory.html" title="class in bitronix.tm.jndi">BitronixInitialContextFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/DiskForceBatcherThread.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/DiskForceBatcherThread.html" title="class in bitronix.tm.journal">DiskForceBatcherThread</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/NullJournal.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/NullJournal.html" title="class in bitronix.tm.journal">NullJournal</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/TransactionLogAppender.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal">TransactionLogAppender</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/TransactionLogHeader.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal">TransactionLogHeader</A>
+<DD>Create human-readable String representation.
+<DT><A HREF="./bitronix/tm/journal/TransactionLogRecord.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/DeferredReleaseSynchronization.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/DeferredReleaseSynchronization.html" title="class in bitronix.tm.resource.common">DeferredReleaseSynchronization</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAPool.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXADataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.resource.jdbc.lrc.<A HREF="./bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JmsConnectionHandle.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsConnectionHandle.html" title="class in bitronix.tm.resource.jms">JmsConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/JmsPooledConnection.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms">JmsPooledConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnection.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jms.lrc">LrcXAResource</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/MessageConsumerWrapper.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms">MessageConsumerWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/MessageProducerConsumerKey.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageProducerConsumerKey.html" title="class in bitronix.tm.resource.jms">MessageProducerConsumerKey</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms">MessageProducerWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">PoolingConnectionFactory</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/TopicSubscriberWrapper.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/TopicSubscriberWrapper.html" title="class in bitronix.tm.resource.jms">TopicSubscriberWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/timer/PoolShrinkingTask.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.timer.<A HREF="./bitronix/tm/timer/PoolShrinkingTask.html" title="class in bitronix.tm.timer">PoolShrinkingTask</A>
+<DD>
+<DT><A HREF="./bitronix/tm/timer/RecoveryTask.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.timer.<A HREF="./bitronix/tm/timer/RecoveryTask.html" title="class in bitronix.tm.timer">RecoveryTask</A>
+<DD>
+<DT><A HREF="./bitronix/tm/timer/TransactionTimeoutTask.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.timer.<A HREF="./bitronix/tm/timer/TransactionTimeoutTask.html" title="class in bitronix.tm.timer">TransactionTimeoutTask</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Scheduler.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils">Scheduler</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/Uid.html#toString()"><B>toString()</B></A> -
+Method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAPool.html#totalPoolSize()"><B>totalPoolSize()</B></A> -
+Method in class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/TransactionContextHelper.html" title="class in bitronix.tm.resource.common"><B>TransactionContextHelper</B></A> - Class in <A HREF="./bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A><DD>Helper class that contains static logic common accross all resource types.<DT><A HREF="./bitronix/tm/resource/common/TransactionContextHelper.html#TransactionContextHelper()"><B>TransactionContextHelper()</B></A> -
+Constructor for class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/TransactionContextHelper.html" title="class in bitronix.tm.resource.common">TransactionContextHelper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal"><B>TransactionLogAppender</B></A> - Class in <A HREF="./bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A><DD>Used to write <A HREF="./bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal"><CODE>TransactionLogRecord</CODE></A> objects to a log file.<DT><A HREF="./bitronix/tm/journal/TransactionLogAppender.html#TransactionLogAppender(java.io.Fil [...]
+Constructor for class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal">TransactionLogAppender</A>
+<DD>Create an appender that will write to specified file up to the specified maximum length.
+<DT><A HREF="./bitronix/tm/journal/TransactionLogCursor.html" title="class in bitronix.tm.journal"><B>TransactionLogCursor</B></A> - Class in <A HREF="./bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A><DD>Used to read <A HREF="./bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal"><CODE>TransactionLogRecord</CODE></A> objects from a log file.<DT><A HREF="./bitronix/tm/journal/TransactionLogCursor.html#TransactionLogCursor(java.io.File)"><B> [...]
+Constructor for class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogCursor.html" title="class in bitronix.tm.journal">TransactionLogCursor</A>
+<DD>Create a TransactionLogCursor that will read from the specified file.
+<DT><A HREF="./bitronix/tm/gui/TransactionLogDialog.html" title="class in bitronix.tm.gui"><B>TransactionLogDialog</B></A> - Class in <A HREF="./bitronix/tm/gui/package-summary.html">bitronix.tm.gui</A><DD><DT><A HREF="./bitronix/tm/gui/TransactionLogDialog.html#TransactionLogDialog(javax.swing.JFrame, bitronix.tm.journal.TransactionLogRecord)"><B>TransactionLogDialog(JFrame, TransactionLogRecord)</B></A> -
+Constructor for class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/TransactionLogDialog.html" title="class in bitronix.tm.gui">TransactionLogDialog</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal"><B>TransactionLogHeader</B></A> - Class in <A HREF="./bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A><DD>Used to control a log file's header.<DT><A HREF="./bitronix/tm/journal/TransactionLogHeader.html#TransactionLogHeader(java.io.RandomAccessFile, long)"><B>TransactionLogHeader(RandomAccessFile, long)</B></A> -
+Constructor for class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal">TransactionLogHeader</A>
+<DD>TransactionLogHeader are used to control headers of the specified RandomAccessFile.
+<DT><A HREF="./bitronix/tm/gui/TransactionLogHeaderPanel.html" title="class in bitronix.tm.gui"><B>TransactionLogHeaderPanel</B></A> - Class in <A HREF="./bitronix/tm/gui/package-summary.html">bitronix.tm.gui</A><DD><DT><A HREF="./bitronix/tm/gui/TransactionLogHeaderPanel.html#TransactionLogHeaderPanel()"><B>TransactionLogHeaderPanel()</B></A> -
+Constructor for class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/TransactionLogHeaderPanel.html" title="class in bitronix.tm.gui">TransactionLogHeaderPanel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal"><B>TransactionLogRecord</B></A> - Class in <A HREF="./bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A><DD>Representation of a transaction log record on disk.<DT><A HREF="./bitronix/tm/journal/TransactionLogRecord.html#TransactionLogRecord(int, int, int, long, int, int, bitronix.tm.utils.Uid, java.util.Set, int)"><B>TransactionLogRecord(int, int, int, long, int, int, Uid, Se [...]
+Constructor for class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A>
+<DD>Use this constructor when restoring a log from the disk.
+<DT><A HREF="./bitronix/tm/journal/TransactionLogRecord.html#TransactionLogRecord(int, bitronix.tm.utils.Uid, java.util.Set)"><B>TransactionLogRecord(int, Uid, Set)</B></A> -
+Constructor for class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal">TransactionLogRecord</A>
+<DD>Create a new transaction log ready to be stored.
+<DT><A HREF="./bitronix/tm/TransactionManagerServices.html" title="class in bitronix.tm"><B>TransactionManagerServices</B></A> - Class in <A HREF="./bitronix/tm/package-summary.html">bitronix.tm</A><DD>Container for all BTM services.<DT><A HREF="./bitronix/tm/TransactionManagerServices.html#TransactionManagerServices()"><B>TransactionManagerServices()</B></A> -
+Constructor for class bitronix.tm.<A HREF="./bitronix/tm/TransactionManagerServices.html" title="class in bitronix.tm">TransactionManagerServices</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/TransactionStatusChangeListener.html" title="interface in bitronix.tm.internal"><B>TransactionStatusChangeListener</B></A> - Interface in <A HREF="./bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A><DD><A HREF="./bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm"><CODE>BitronixTransaction</CODE></A> status change listener interface.<DT><A HREF="./bitronix/tm/gui/TransactionTableCellRenderer.html" title="class in bitron [...]
+Constructor for class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/TransactionTableCellRenderer.html" title="class in bitronix.tm.gui">TransactionTableCellRenderer</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/TransactionTableModel.html" title="class in bitronix.tm.gui"><B>TransactionTableModel</B></A> - Class in <A HREF="./bitronix/tm/gui/package-summary.html">bitronix.tm.gui</A><DD><DT><A HREF="./bitronix/tm/gui/TransactionTableModel.html#TransactionTableModel()"><B>TransactionTableModel()</B></A> -
+Constructor for class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/TransactionTableModel.html" title="class in bitronix.tm.gui">TransactionTableModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/gui/TransactionTableMouseListener.html" title="class in bitronix.tm.gui"><B>TransactionTableMouseListener</B></A> - Class in <A HREF="./bitronix/tm/gui/package-summary.html">bitronix.tm.gui</A><DD><DT><A HREF="./bitronix/tm/gui/TransactionTableMouseListener.html#TransactionTableMouseListener(javax.swing.JFrame, javax.swing.JTable)"><B>TransactionTableMouseListener(JFrame, JTable)</B></A> -
+Constructor for class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/TransactionTableMouseListener.html" title="class in bitronix.tm.gui">TransactionTableMouseListener</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/TransactionTimeoutException.html" title="class in bitronix.tm.internal"><B>TransactionTimeoutException</B></A> - Exception in <A HREF="./bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A><DD>Thrown when a transaction times out.<DT><A HREF="./bitronix/tm/internal/TransactionTimeoutException.html#TransactionTimeoutException(java.lang.String)"><B>TransactionTimeoutException(String)</B></A> -
+Constructor for exception bitronix.tm.internal.<A HREF="./bitronix/tm/internal/TransactionTimeoutException.html" title="class in bitronix.tm.internal">TransactionTimeoutException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/TransactionTimeoutException.html#TransactionTimeoutException(java.lang.String, java.lang.Throwable)"><B>TransactionTimeoutException(String, Throwable)</B></A> -
+Constructor for exception bitronix.tm.internal.<A HREF="./bitronix/tm/internal/TransactionTimeoutException.html" title="class in bitronix.tm.internal">TransactionTimeoutException</A>
+<DD>
+<DT><A HREF="./bitronix/tm/timer/TransactionTimeoutTask.html" title="class in bitronix.tm.timer"><B>TransactionTimeoutTask</B></A> - Class in <A HREF="./bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A><DD>This task is used to mark a transaction as timed-out.<DT><A HREF="./bitronix/tm/timer/TransactionTimeoutTask.html#TransactionTimeoutTask(bitronix.tm.BitronixTransaction, java.util.Date, bitronix.tm.timer.TaskScheduler)"><B>TransactionTimeoutTask(BitronixTransaction, Date, T [...]
+Constructor for class bitronix.tm.timer.<A HREF="./bitronix/tm/timer/TransactionTimeoutTask.html" title="class in bitronix.tm.timer">TransactionTimeoutTask</A>
+<DD>
+</DL>
+<HR>
+<A NAME="_U_"><!-- --></A><H2>
+<B>U</B></H2>
+<DL>
+<DT><A HREF="./bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils"><B>Uid</B></A> - Class in <A HREF="./bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A><DD>A constant UID byte array container optimized for use with hashed collections.<DT><A HREF="./bitronix/tm/utils/Uid.html#Uid(byte[])"><B>Uid(byte[])</B></A> -
+Constructor for class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils">Uid</A>
+<DD>
+<DT><A HREF="./bitronix/tm/utils/UidGenerator.html" title="class in bitronix.tm.utils"><B>UidGenerator</B></A> - Class in <A HREF="./bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A><DD>Helper that offers UID generation (GTRID, XID, sequences) needed by the transaction manager.<DT><A HREF="./bitronix/tm/utils/UidGenerator.html#UidGenerator()"><B>UidGenerator()</B></A> -
+Constructor for class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/UidGenerator.html" title="class in bitronix.tm.utils">UidGenerator</A>
+<DD>
+<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html#unbind(javax.naming.Name)"><B>unbind(Name)</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/jndi/BitronixContext.html#unbind(java.lang.String)"><B>unbind(String)</B></A> -
+Method in class bitronix.tm.jndi.<A HREF="./bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi">BitronixContext</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/TransactionLogHeader.html#UNCLEAN_LOG_STATE"><B>UNCLEAN_LOG_STATE</B></A> -
+Static variable in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogHeader.html" title="class in bitronix.tm.journal">TransactionLogHeader</A>
+<DD>State of the log file when it hasn't been closed properly or it is still open.
+<DT><A HREF="./bitronix/tm/resource/ResourceRegistrar.html#unregister(bitronix.tm.resource.common.XAResourceProducer)"><B>unregister(XAResourceProducer)</B></A> -
+Static method in class bitronix.tm.resource.<A HREF="./bitronix/tm/resource/ResourceRegistrar.html" title="class in bitronix.tm.resource">ResourceRegistrar</A>
+<DD>Unregister a previously registered <A HREF="./bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A>.
+<DT><A HREF="./bitronix/tm/utils/ManagementRegistrar.html#unregister(java.lang.String)"><B>unregister(String)</B></A> -
+Static method in class bitronix.tm.utils.<A HREF="./bitronix/tm/utils/ManagementRegistrar.html" title="class in bitronix.tm.utils">ManagementRegistrar</A>
+<DD>Unregister the management object with the specified name.
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html#unregisterUncachedStatement(java.sql.Statement)"><B>unregisterUncachedStatement(Statement)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc">JdbcPooledConnection</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html#unregisterXAResource(java.lang.String, javax.transaction.xa.XAResource)"><B>unregisterXAResource(String, XAResource)</B></A> -
+Static method in class bitronix.tm.resource.ehcache.<A HREF="./bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html" title="class in bitronix.tm.resource.ehcache">EhCacheXAResourceProducer</A>
+<DD>Unregister an XAResource of a cache from BTM.
+<DT><A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html#unsubscribe(java.lang.String)"><B>unsubscribe(String)</B></A> -
+Method in class bitronix.tm.resource.jms.<A HREF="./bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms">DualSessionWrapper</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html#unsubscribe(java.lang.String)"><B>unsubscribe(String)</B></A> -
+Method in class bitronix.tm.resource.jms.lrc.<A HREF="./bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc">LrcXASession</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html#unwrap(java.lang.Class)"><B>unwrap(Class)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcCallableStatementHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html#unwrap(java.lang.Class)"><B>unwrap(Class)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcConnectionHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html#unwrap(java.lang.Class)"><B>unwrap(Class)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcPreparedStatementHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcStatementHandle.html#unwrap(java.lang.Class)"><B>unwrap(Class)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcStatementHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html#unwrap(java.lang.Class)"><B>unwrap(Class)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.html" title="class in bitronix.tm.resource.jdbc">JdbcUncachedPreparedStatementHandle</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html#unwrap(java.lang.Class)"><B>unwrap(Class)</B></A> -
+Method in class bitronix.tm.resource.jdbc.<A HREF="./bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">PoolingDataSource</A>
+<DD>
+</DL>
+<HR>
+<A NAME="_V_"><!-- --></A><H2>
+<B>V</B></H2>
+<DL>
+<DT><A HREF="./bitronix/tm/gui/ResourcesTreeModel.html#valueForPathChanged(javax.swing.tree.TreePath, java.lang.Object)"><B>valueForPathChanged(TreePath, Object)</B></A> -
+Method in class bitronix.tm.gui.<A HREF="./bitronix/tm/gui/ResourcesTreeModel.html" title="class in bitronix.tm.gui">ResourcesTreeModel</A>
+<DD>
+<DT><A HREF="./bitronix/tm/Version.html" title="class in bitronix.tm"><B>Version</B></A> - Class in <A HREF="./bitronix/tm/package-summary.html">bitronix.tm</A><DD> <DT><A HREF="./bitronix/tm/Version.html#Version()"><B>Version()</B></A> -
+Constructor for class bitronix.tm.<A HREF="./bitronix/tm/Version.html" title="class in bitronix.tm">Version</A>
+<DD>
+</DL>
+<HR>
+<A NAME="_W_"><!-- --></A><H2>
+<B>W</B></H2>
+<DL>
+<DT><A HREF="./bitronix/tm/twopc/executor/ConcurrentExecutor.html#waitFor(java.lang.Object, long)"><B>waitFor(Object, long)</B></A> -
+Method in class bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/ConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor">ConcurrentExecutor</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/executor/Executor.html#waitFor(java.lang.Object, long)"><B>waitFor(Object, long)</B></A> -
+Method in interface bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A>
+<DD>Wait for the job represented by the future to terminate.
+<DT><A HREF="./bitronix/tm/twopc/executor/SimpleAsyncExecutor.html#waitFor(java.lang.Object, long)"><B>waitFor(Object, long)</B></A> -
+Method in class bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/SimpleAsyncExecutor.html" title="class in bitronix.tm.twopc.executor">SimpleAsyncExecutor</A>
+<DD>
+<DT><A HREF="./bitronix/tm/twopc/executor/SyncExecutor.html#waitFor(java.lang.Object, long)"><B>waitFor(Object, long)</B></A> -
+Method in class bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/SyncExecutor.html" title="class in bitronix.tm.twopc.executor">SyncExecutor</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/DiskForceWaitQueue.html#waitUntilNotContains(bitronix.tm.journal.TransactionLogAppender)"><B>waitUntilNotContains(TransactionLogAppender)</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/DiskForceWaitQueue.html" title="class in bitronix.tm.journal">DiskForceWaitQueue</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/DiskForceWaitQueue.html#waitUntilNotEmpty()"><B>waitUntilNotEmpty()</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/DiskForceWaitQueue.html" title="class in bitronix.tm.journal">DiskForceWaitQueue</A>
+<DD>
+<DT><A HREF="./bitronix/tm/journal/TransactionLogAppender.html#writeLog(bitronix.tm.journal.TransactionLogRecord)"><B>writeLog(TransactionLogRecord)</B></A> -
+Method in class bitronix.tm.journal.<A HREF="./bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal">TransactionLogAppender</A>
+<DD>Write a <A HREF="./bitronix/tm/journal/TransactionLogRecord.html" title="class in bitronix.tm.journal"><CODE>TransactionLogRecord</CODE></A> to disk.
+</DL>
+<HR>
+<A NAME="_X_"><!-- --></A><H2>
+<B>X</B></H2>
+<DL>
+<DT><A HREF="./bitronix/tm/twopc/executor/Job.html#xaException"><B>xaException</B></A> -
+Variable in class bitronix.tm.twopc.executor.<A HREF="./bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor">Job</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common"><B>XAPool</B></A> - Class in <A HREF="./bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A><DD>Generic XA pool.<DT><A HREF="./bitronix/tm/resource/common/XAPool.html#XAPool(bitronix.tm.resource.common.XAResourceProducer, bitronix.tm.resource.common.ResourceBean)"><B>XAPool(XAResourceProducer, ResourceBean)</B></A> -
+Constructor for class bitronix.tm.resource.common.<A HREF="./bitronix/tm/resource/common/XAPool.html" title="class in bitronix.tm.resource.common">XAPool</A>
+<DD>
+<DT><A HREF="./bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><B>XAResourceHolder</B></A> - Interface in <A HREF="./bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A><DD><A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa"><CODE>XAResource</CODE></A> wrappers must implement this interface.<DT><A HREF="./b [...]
+Constructor for class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/XAResourceHolderState.html#XAResourceHolderState(bitronix.tm.internal.XAResourceHolderState)"><B>XAResourceHolderState(XAResourceHolderState)</B></A> -
+Constructor for class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal">XAResourceHolderState</A>
+<DD>
+<DT><A HREF="./bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal"><B>XAResourceManager</B></A> - Class in <A HREF="./bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A><DD>Every <A HREF="./bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm"><CODE>BitronixTransaction</CODE></A> contains an instance of this class that is used to register
+ and keep track of resources enlisted in a transaction.<DT><A HREF="./bitronix/tm/internal/XAResourceManager.html#XAResourceManager(bitronix.tm.utils.Uid)"><B>XAResourceManager(Uid)</B></A> -
+Constructor for class bitronix.tm.internal.<A HREF="./bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal">XAResourceManager</A>
+<DD>Create a resource manager for the specified GTRID.
+<DT><A HREF="./bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><B>XAResourceProducer</B></A> - Interface in <A HREF="./bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A><DD>A <A HREF="./bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><CODE>XAResourceProducer</CODE></A> is a <A HREF="./bitronix/tm/resource/common/XAStatefulHolder.html" title="interface [...]
+<HR>
+<A HREF="#_A_">A</A> <A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_E_">E</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_H_">H</A> <A HREF="#_I_">I</A> <A HREF="#_J_">J</A> <A HREF="#_L_">L</A> <A HREF="#_M_">M</A> <A HREF="#_N_">N</A> <A HREF="#_O_">O</A> <A HREF="#_P_">P</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_T_">T</A> <A HREF="#_U_">U</A> <A HREF="#_V_">V</A> <A HREF="#_W_">W</A> <A HREF="#_X_">X</A>
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="./overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="./overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="./deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="./help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="./index.html?index-all.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="index-all.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="./allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="./allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/index.html b/doc/api/index.html
new file mode 100644
index 0000000..8f7c502
--- /dev/null
+++ b/doc/api/index.html
@@ -0,0 +1,40 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc on Sun Oct 30 10:48:07 CET 2011-->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Bitronix Transaction Manager :: Core 2.1.2 API
+</TITLE>
+<SCRIPT type="text/javascript">
+ targetPage = "" + window.location.search;
+ if (targetPage != "" && targetPage != "undefined")
+ targetPage = targetPage.substring(1);
+ if (targetPage.indexOf(":") != -1)
+ targetPage = "undefined";
+ function loadFrames() {
+ if (targetPage != "" && targetPage != "undefined")
+ top.classFrame.location = top.targetPage;
+ }
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+</HEAD>
+<FRAMESET cols="20%,80%" title="" onLoad="top.loadFrames()">
+<FRAMESET rows="30%,70%" title="" onLoad="top.loadFrames()">
+<FRAME src="overview-frame.html" name="packageListFrame" title="All Packages">
+<FRAME src="allclasses-frame.html" name="packageFrame" title="All classes and interfaces (except non-static nested types)">
+</FRAMESET>
+<FRAME src="overview-summary.html" name="classFrame" title="Package, class and interface descriptions" scrolling="yes">
+<NOFRAMES>
+<H2>
+Frame Alert</H2>
+
+<P>
+This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
+<BR>
+Link to<A HREF="overview-summary.html">Non-frame version.</A>
+</NOFRAMES>
+</FRAMESET>
+</HTML>
diff --git a/doc/api/overview-frame.html b/doc/api/overview-frame.html
new file mode 100644
index 0000000..306da16
--- /dev/null
+++ b/doc/api/overview-frame.html
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Overview List (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TH ALIGN="left" NOWRAP><FONT size="+1" CLASS="FrameTitleFont">
+<B></B></FONT></TH>
+</TR>
+</TABLE>
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="allclasses-frame.html" target="packageFrame">All Classes</A></FONT>
+<P>
+<FONT size="+1" CLASS="FrameHeadingFont">
+Packages</FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="bitronix/tm/package-frame.html" target="packageFrame">bitronix.tm</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="bitronix/tm/gui/package-frame.html" target="packageFrame">bitronix.tm.gui</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="bitronix/tm/internal/package-frame.html" target="packageFrame">bitronix.tm.internal</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="bitronix/tm/jndi/package-frame.html" target="packageFrame">bitronix.tm.jndi</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="bitronix/tm/journal/package-frame.html" target="packageFrame">bitronix.tm.journal</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="bitronix/tm/recovery/package-frame.html" target="packageFrame">bitronix.tm.recovery</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="bitronix/tm/resource/package-frame.html" target="packageFrame">bitronix.tm.resource</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="bitronix/tm/resource/common/package-frame.html" target="packageFrame">bitronix.tm.resource.common</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="bitronix/tm/resource/ehcache/package-frame.html" target="packageFrame">bitronix.tm.resource.ehcache</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="bitronix/tm/resource/jdbc/package-frame.html" target="packageFrame">bitronix.tm.resource.jdbc</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="bitronix/tm/resource/jdbc/lrc/package-frame.html" target="packageFrame">bitronix.tm.resource.jdbc.lrc</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="bitronix/tm/resource/jms/package-frame.html" target="packageFrame">bitronix.tm.resource.jms</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="bitronix/tm/resource/jms/lrc/package-frame.html" target="packageFrame">bitronix.tm.resource.jms.lrc</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="bitronix/tm/timer/package-frame.html" target="packageFrame">bitronix.tm.timer</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="bitronix/tm/twopc/package-frame.html" target="packageFrame">bitronix.tm.twopc</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="bitronix/tm/twopc/executor/package-frame.html" target="packageFrame">bitronix.tm.twopc.executor</A></FONT>
+<BR>
+<FONT CLASS="FrameItemFont"><A HREF="bitronix/tm/utils/package-frame.html" target="packageFrame">bitronix.tm.utils</A></FONT>
+<BR>
+</TD>
+</TR>
+</TABLE>
+
+<P>
+
+</BODY>
+</HTML>
diff --git a/doc/api/overview-summary.html b/doc/api/overview-summary.html
new file mode 100644
index 0000000..e27a86f
--- /dev/null
+++ b/doc/api/overview-summary.html
@@ -0,0 +1,238 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Overview (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Overview (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Overview</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="index.html?overview-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="overview-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H1>
+Bitronix Transaction Manager 2.1.2 API
+</H1>
+</CENTER>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Packages</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="bitronix/tm/package-summary.html">bitronix.tm</A></B></TD>
+<TD>
+ JTA interfaces implementations and global services.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="bitronix/tm/gui/package-summary.html">bitronix.tm.gui</A></B></TD>
+<TD>
+ GUI admin console.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="bitronix/tm/internal/package-summary.html">bitronix.tm.internal</A></B></TD>
+<TD>
+ Internal implementation details.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="bitronix/tm/jndi/package-summary.html">bitronix.tm.jndi</A></B></TD>
+<TD>
+ JNDI provider implementation that allows looking up transaction manager and resources.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="bitronix/tm/journal/package-summary.html">bitronix.tm.journal</A></B></TD>
+<TD>
+ Transactions disk journal.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="bitronix/tm/recovery/package-summary.html">bitronix.tm.recovery</A></B></TD>
+<TD>
+ Recovery logic.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="bitronix/tm/resource/package-summary.html">bitronix.tm.resource</A></B></TD>
+<TD>
+ Transaction Manager's resource management services.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="bitronix/tm/resource/common/package-summary.html">bitronix.tm.resource.common</A></B></TD>
+<TD>
+ Resource management code common across all resource types.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="bitronix/tm/resource/ehcache/package-summary.html">bitronix.tm.resource.ehcache</A></B></TD>
+<TD>
+ Ehcache specific resource management code.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="bitronix/tm/resource/jdbc/package-summary.html">bitronix.tm.resource.jdbc</A></B></TD>
+<TD>
+ JDBC specific resource management code.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="bitronix/tm/resource/jdbc/lrc/package-summary.html">bitronix.tm.resource.jdbc.lrc</A></B></TD>
+<TD>
+ XADataSource emulator using Last Resource Commit on an underlying non-XA DataSource.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="bitronix/tm/resource/jms/package-summary.html">bitronix.tm.resource.jms</A></B></TD>
+<TD>
+ Synchronous JMS specific resource management code.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="bitronix/tm/resource/jms/lrc/package-summary.html">bitronix.tm.resource.jms.lrc</A></B></TD>
+<TD>
+ XAConnectionFactory emulator using Last Resource Commit on an underlying non-XA ConnectionFactory.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="bitronix/tm/timer/package-summary.html">bitronix.tm.timer</A></B></TD>
+<TD>
+ Timed tasks scheduler.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="bitronix/tm/twopc/package-summary.html">bitronix.tm.twopc</A></B></TD>
+<TD>
+ Two-phase commit logic.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="bitronix/tm/twopc/executor/package-summary.html">bitronix.tm.twopc.executor</A></B></TD>
+<TD>
+ Two-phase commit commands executors.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="20%"><B><A HREF="bitronix/tm/utils/package-summary.html">bitronix.tm.utils</A></B></TD>
+<TD>
+ Misc utility classes.</TD>
+</TR>
+</TABLE>
+
+<P>
+ <HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Overview</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="index.html?overview-summary.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="overview-summary.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/overview-tree.html b/doc/api/overview-tree.html
new file mode 100644
index 0000000..646b3d1
--- /dev/null
+++ b/doc/api/overview-tree.html
@@ -0,0 +1,298 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:07 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Class Hierarchy (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="index.html?overview-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For All Packages</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="bitronix/tm/package-tree.html">bitronix.tm</A>, <A HREF="bitronix/tm/gui/package-tree.html">bitronix.tm.gui</A>, <A HREF="bitronix/tm/internal/package-tree.html">bitronix.tm.internal</A>, <A HREF="bitronix/tm/jndi/package-tree.html">bitronix.tm.jndi</A>, <A HREF="bitronix/tm/journal/package-tree.html">bitronix.tm.journal</A>, <A HREF="bitronix/tm/recovery/package-tree.html">bitronix.tm.recovery</A>, <A HREF="bitronix/tm/resource/package-tree.ht [...]
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><B>Object</B></A><UL>
+<LI TYPE="circle">bitronix.tm.twopc.<A HREF="bitronix/tm/twopc/AbstractPhaseEngine.html" title="class in bitronix.tm.twopc"><B>AbstractPhaseEngine</B></A><UL>
+<LI TYPE="circle">bitronix.tm.twopc.<A HREF="bitronix/tm/twopc/Committer.html" title="class in bitronix.tm.twopc"><B>Committer</B></A><LI TYPE="circle">bitronix.tm.twopc.<A HREF="bitronix/tm/twopc/Preparer.html" title="class in bitronix.tm.twopc"><B>Preparer</B></A><LI TYPE="circle">bitronix.tm.twopc.<A HREF="bitronix/tm/twopc/Rollbacker.html" title="class in bitronix.tm.twopc"><B>Rollbacker</B></A></UL>
+<LI TYPE="circle">javax.swing.table.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/AbstractTableModel.html?is-external=true" title="class or interface in javax.swing.table"><B>AbstractTableModel</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, javax.swing.table.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/TableModel.html [...]
+<UL>
+<LI TYPE="circle">javax.swing.table.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true" title="class or interface in javax.swing.table"><B>DefaultTableModel</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>)
+<UL>
+<LI TYPE="circle">bitronix.tm.gui.<A HREF="bitronix/tm/gui/DuplicatedGtridTableModel.html" title="class in bitronix.tm.gui"><B>DuplicatedGtridTableModel</B></A></UL>
+</UL>
+<LI TYPE="circle">bitronix.tm.resource.common.<A HREF="bitronix/tm/resource/common/AbstractXAStatefulHolder.html" title="class in bitronix.tm.resource.common"><B>AbstractXAStatefulHolder</B></A> (implements bitronix.tm.resource.common.<A HREF="bitronix/tm/resource/common/XAStatefulHolder.html" title="interface in bitronix.tm.resource.common">XAStatefulHolder</A>)
+<UL>
+<LI TYPE="circle">bitronix.tm.resource.common.<A HREF="bitronix/tm/resource/common/AbstractXAResourceHolder.html" title="class in bitronix.tm.resource.common"><B>AbstractXAResourceHolder</B></A> (implements bitronix.tm.resource.common.<A HREF="bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common">XAResourceHolder</A>)
+<UL>
+<LI TYPE="circle">bitronix.tm.resource.jms.<A HREF="bitronix/tm/resource/jms/DualSessionWrapper.html" title="class in bitronix.tm.resource.jms"><B>DualSessionWrapper</B></A> (implements javax.jms.Session, bitronix.tm.resource.common.<A HREF="bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common">StateChangeListener</A>)
+<LI TYPE="circle">bitronix.tm.resource.ehcache.<A HREF="bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.html" title="class in bitronix.tm.resource.ehcache"><B>EhCacheXAResourceHolder</B></A><LI TYPE="circle">bitronix.tm.resource.jdbc.<A HREF="bitronix/tm/resource/jdbc/JdbcPooledConnection.html" title="class in bitronix.tm.resource.jdbc"><B>JdbcPooledConnection</B></A> (implements bitronix.tm.resource.jdbc.<A HREF="bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html" title="inte [...]
+<LI TYPE="circle">bitronix.tm.resource.common.<A HREF="bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common"><B>RecoveryXAResourceHolder</B></A></UL>
+<LI TYPE="circle">bitronix.tm.resource.jms.<A HREF="bitronix/tm/resource/jms/JmsPooledConnection.html" title="class in bitronix.tm.resource.jms"><B>JmsPooledConnection</B></A> (implements bitronix.tm.resource.jms.<A HREF="bitronix/tm/resource/jms/JmsPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jms">JmsPooledConnectionMBean</A>)
+</UL>
+<LI TYPE="circle">bitronix.tm.resource.jdbc.<A HREF="bitronix/tm/resource/jdbc/BaseProxyHandlerClass.html" title="class in bitronix.tm.resource.jdbc"><B>BaseProxyHandlerClass</B></A> (implements java.lang.reflect.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/reflect/InvocationHandler.html?is-external=true" title="class or interface in java.lang.reflect">InvocationHandler</A>)
+<UL>
+<LI TYPE="circle">bitronix.tm.resource.jdbc.<A HREF="bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.html" title="class in bitronix.tm.resource.jdbc"><B>JdbcCallableStatementHandle</B></A><LI TYPE="circle">bitronix.tm.resource.jdbc.<A HREF="bitronix/tm/resource/jdbc/JdbcConnectionHandle.html" title="class in bitronix.tm.resource.jdbc"><B>JdbcConnectionHandle</B></A><LI TYPE="circle">bitronix.tm.resource.jdbc.<A HREF="bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.html" title [...]
+<LI TYPE="circle">bitronix.tm.jndi.<A HREF="bitronix/tm/jndi/BitronixContext.html" title="class in bitronix.tm.jndi"><B>BitronixContext</B></A> (implements javax.naming.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Context.html?is-external=true" title="class or interface in javax.naming">Context</A>)
+<LI TYPE="circle">bitronix.tm.jndi.<A HREF="bitronix/tm/jndi/BitronixInitialContextFactory.html" title="class in bitronix.tm.jndi"><B>BitronixInitialContextFactory</B></A> (implements javax.naming.spi.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/InitialContextFactory.html?is-external=true" title="class or interface in javax.naming.spi">InitialContextFactory</A>)
+<LI TYPE="circle">bitronix.tm.<A HREF="bitronix/tm/BitronixTransaction.html" title="class in bitronix.tm"><B>BitronixTransaction</B></A> (implements bitronix.tm.<A HREF="bitronix/tm/BitronixTransactionMBean.html" title="interface in bitronix.tm">BitronixTransactionMBean</A>, javax.transaction.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/Transaction.html?is-external=true" title="class or interface in javax.transaction">Transaction</A>)
+<LI TYPE="circle">bitronix.tm.<A HREF="bitronix/tm/BitronixTransactionManager.html" title="class in bitronix.tm"><B>BitronixTransactionManager</B></A> (implements javax.naming.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Referenceable.html?is-external=true" title="class or interface in javax.naming">Referenceable</A>, bitronix.tm.utils.<A HREF="bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A>, javax.transaction.<A HREF="http://java.sun.c [...]
+<LI TYPE="circle">bitronix.tm.<A HREF="bitronix/tm/BitronixTransactionManagerObjectFactory.html" title="class in bitronix.tm"><B>BitronixTransactionManagerObjectFactory</B></A> (implements javax.naming.spi.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/ObjectFactory.html?is-external=true" title="class or interface in javax.naming.spi">ObjectFactory</A>)
+<UL>
+<LI TYPE="circle">bitronix.tm.<A HREF="bitronix/tm/BitronixUserTransactionObjectFactory.html" title="class in bitronix.tm"><B>BitronixUserTransactionObjectFactory</B></A></UL>
+<LI TYPE="circle">bitronix.tm.<A HREF="bitronix/tm/BitronixTransactionSynchronizationRegistry.html" title="class in bitronix.tm"><B>BitronixTransactionSynchronizationRegistry</B></A> (implements javax.naming.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Referenceable.html?is-external=true" title="class or interface in javax.naming">Referenceable</A>, javax.transaction.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/TransactionSynchronizationRegistry.htm [...]
+<LI TYPE="circle">bitronix.tm.<A HREF="bitronix/tm/BitronixTransactionSynchronizationRegistryObjectFactory.html" title="class in bitronix.tm"><B>BitronixTransactionSynchronizationRegistryObjectFactory</B></A> (implements javax.naming.spi.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/ObjectFactory.html?is-external=true" title="class or interface in javax.naming.spi">ObjectFactory</A>)
+<LI TYPE="circle">bitronix.tm.<A HREF="bitronix/tm/BitronixXid.html" title="class in bitronix.tm"><B>BitronixXid</B></A> (implements javax.transaction.xa.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/Xid.html?is-external=true" title="class or interface in javax.transaction.xa">Xid</A>)
+<LI TYPE="circle">bitronix.tm.utils.<A HREF="bitronix/tm/utils/ClassLoaderUtils.html" title="class in bitronix.tm.utils"><B>ClassLoaderUtils</B></A><LI TYPE="circle">bitronix.tm.utils.<A HREF="bitronix/tm/utils/CollectionUtils.html" title="class in bitronix.tm.utils"><B>CollectionUtils</B></A><LI TYPE="circle">java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Component.html?is-external=true" title="class or interface in java.awt"><B>Component</B></A> (implements java.awt [...]
+<UL>
+<LI TYPE="circle">java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html?is-external=true" title="class or interface in java.awt"><B>Container</B></A><UL>
+<LI TYPE="circle">javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JComponent.html?is-external=true" title="class or interface in javax.swing"><B>JComponent</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>)
+<UL>
+<LI TYPE="circle">javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing"><B>JLabel</B></A> (implements javax.accessibility.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>, javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/SwingConstants.html?is-external=true" [...]
+<UL>
+<LI TYPE="circle">javax.swing.table.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true" title="class or interface in javax.swing.table"><B>DefaultTableCellRenderer</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, javax.swing.table.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/Tab [...]
+<UL>
+<LI TYPE="circle">bitronix.tm.gui.<A HREF="bitronix/tm/gui/TransactionTableCellRenderer.html" title="class in bitronix.tm.gui"><B>TransactionTableCellRenderer</B></A></UL>
+</UL>
+<LI TYPE="circle">javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JPanel.html?is-external=true" title="class or interface in javax.swing"><B>JPanel</B></A> (implements javax.accessibility.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>)
+<UL>
+<LI TYPE="circle">bitronix.tm.gui.<A HREF="bitronix/tm/gui/ResourcesPanel.html" title="class in bitronix.tm.gui"><B>ResourcesPanel</B></A><LI TYPE="circle">bitronix.tm.gui.<A HREF="bitronix/tm/gui/TransactionLogHeaderPanel.html" title="class in bitronix.tm.gui"><B>TransactionLogHeaderPanel</B></A></UL>
+</UL>
+<LI TYPE="circle">java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Window.html?is-external=true" title="class or interface in java.awt"><B>Window</B></A> (implements javax.accessibility.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>)
+<UL>
+<LI TYPE="circle">java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Dialog.html?is-external=true" title="class or interface in java.awt"><B>Dialog</B></A><UL>
+<LI TYPE="circle">javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JDialog.html?is-external=true" title="class or interface in javax.swing"><B>JDialog</B></A> (implements javax.accessibility.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>, javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/RootPaneContainer.html?is-external= [...]
+<UL>
+<LI TYPE="circle">bitronix.tm.gui.<A HREF="bitronix/tm/gui/TransactionLogDialog.html" title="class in bitronix.tm.gui"><B>TransactionLogDialog</B></A></UL>
+</UL>
+<LI TYPE="circle">java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Frame.html?is-external=true" title="class or interface in java.awt"><B>Frame</B></A> (implements java.awt.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/MenuContainer.html?is-external=true" title="class or interface in java.awt">MenuContainer</A>)
+<UL>
+<LI TYPE="circle">javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing"><B>JFrame</B></A> (implements javax.accessibility.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/accessibility/Accessible.html?is-external=true" title="class or interface in javax.accessibility">Accessible</A>, javax.swing.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/RootPaneContainer.html?is-external=tr [...]
+<UL>
+<LI TYPE="circle">bitronix.tm.gui.<A HREF="bitronix/tm/gui/Console.html" title="class in bitronix.tm.gui"><B>Console</B></A></UL>
+</UL>
+</UL>
+</UL>
+</UL>
+<LI TYPE="circle">bitronix.tm.twopc.executor.<A HREF="bitronix/tm/twopc/executor/ConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor"><B>ConcurrentExecutor</B></A> (implements bitronix.tm.twopc.executor.<A HREF="bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A>)
+<UL>
+<LI TYPE="circle">bitronix.tm.twopc.executor.<A HREF="bitronix/tm/twopc/executor/BackportConcurrentExecutor.html" title="class in bitronix.tm.twopc.executor"><B>BackportConcurrentExecutor</B></A></UL>
+<LI TYPE="circle">bitronix.tm.<A HREF="bitronix/tm/Configuration.html" title="class in bitronix.tm"><B>Configuration</B></A> (implements bitronix.tm.utils.<A HREF="bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A>)
+<LI TYPE="circle">bitronix.tm.utils.<A HREF="bitronix/tm/utils/CryptoEngine.html" title="class in bitronix.tm.utils"><B>CryptoEngine</B></A><LI TYPE="circle">bitronix.tm.recovery.<A HREF="bitronix/tm/recovery/DanglingTransaction.html" title="class in bitronix.tm.recovery"><B>DanglingTransaction</B></A><LI TYPE="circle">bitronix.tm.utils.<A HREF="bitronix/tm/utils/Decoder.html" title="class in bitronix.tm.utils"><B>Decoder</B></A><LI TYPE="circle">bitronix.tm.resource.common.<A HREF="bitr [...]
+<LI TYPE="circle">bitronix.tm.journal.<A HREF="bitronix/tm/journal/DiskForceWaitQueue.html" title="class in bitronix.tm.journal"><B>DiskForceWaitQueue</B></A><LI TYPE="circle">bitronix.tm.journal.<A HREF="bitronix/tm/journal/DiskJournal.html" title="class in bitronix.tm.journal"><B>DiskJournal</B></A> (implements bitronix.tm.journal.<A HREF="bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A>)
+<LI TYPE="circle">bitronix.tm.utils.<A HREF="bitronix/tm/utils/Encoder.html" title="class in bitronix.tm.utils"><B>Encoder</B></A><LI TYPE="circle">bitronix.tm.recovery.<A HREF="bitronix/tm/recovery/IncrementalRecoverer.html" title="class in bitronix.tm.recovery"><B>IncrementalRecoverer</B></A><LI TYPE="circle">bitronix.tm.resource.jms.<A HREF="bitronix/tm/resource/jms/JmsConnectionHandle.html" title="class in bitronix.tm.resource.jms"><B>JmsConnectionHandle</B></A> (implements javax.jms [...]
+<LI TYPE="circle">bitronix.tm.resource.jms.<A HREF="bitronix/tm/resource/jms/JndiXAConnectionFactory.html" title="class in bitronix.tm.resource.jms"><B>JndiXAConnectionFactory</B></A> (implements javax.jms.XAConnectionFactory)
+<LI TYPE="circle">bitronix.tm.twopc.executor.<A HREF="bitronix/tm/twopc/executor/Job.html" title="class in bitronix.tm.twopc.executor"><B>Job</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A>)
+<LI TYPE="circle">bitronix.tm.resource.jms.lrc.<A HREF="bitronix/tm/resource/jms/lrc/LrcXAConnection.html" title="class in bitronix.tm.resource.jms.lrc"><B>LrcXAConnection</B></A> (implements javax.jms.XAConnection)
+<LI TYPE="circle">bitronix.tm.resource.jms.lrc.<A HREF="bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.html" title="class in bitronix.tm.resource.jms.lrc"><B>LrcXAConnectionFactory</B></A> (implements javax.jms.XAConnectionFactory)
+<LI TYPE="circle">bitronix.tm.resource.jdbc.lrc.<A HREF="bitronix/tm/resource/jdbc/lrc/LrcXADataSource.html" title="class in bitronix.tm.resource.jdbc.lrc"><B>LrcXADataSource</B></A> (implements javax.sql.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/XADataSource.html?is-external=true" title="class or interface in javax.sql">XADataSource</A>)
+<LI TYPE="circle">bitronix.tm.resource.jdbc.lrc.<A HREF="bitronix/tm/resource/jdbc/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jdbc.lrc"><B>LrcXAResource</B></A> (implements javax.transaction.xa.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A>)
+<LI TYPE="circle">bitronix.tm.resource.jms.lrc.<A HREF="bitronix/tm/resource/jms/lrc/LrcXAResource.html" title="class in bitronix.tm.resource.jms.lrc"><B>LrcXAResource</B></A> (implements javax.transaction.xa.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAResource.html?is-external=true" title="class or interface in javax.transaction.xa">XAResource</A>)
+<LI TYPE="circle">bitronix.tm.resource.jms.lrc.<A HREF="bitronix/tm/resource/jms/lrc/LrcXASession.html" title="class in bitronix.tm.resource.jms.lrc"><B>LrcXASession</B></A> (implements javax.jms.XASession)
+<LI TYPE="circle">bitronix.tm.resource.jdbc.<A HREF="bitronix/tm/resource/jdbc/LruStatementCache.html" title="class in bitronix.tm.resource.jdbc"><B>LruStatementCache</B></A><LI TYPE="circle">bitronix.tm.utils.<A HREF="bitronix/tm/utils/ManagementRegistrar.html" title="class in bitronix.tm.utils"><B>ManagementRegistrar</B></A><LI TYPE="circle">bitronix.tm.resource.jms.<A HREF="bitronix/tm/resource/jms/MessageConsumerWrapper.html" title="class in bitronix.tm.resource.jms"><B>MessageConsum [...]
+<UL>
+<LI TYPE="circle">bitronix.tm.resource.jms.<A HREF="bitronix/tm/resource/jms/TopicSubscriberWrapper.html" title="class in bitronix.tm.resource.jms"><B>TopicSubscriberWrapper</B></A> (implements javax.jms.TopicSubscriber)
+</UL>
+<LI TYPE="circle">bitronix.tm.resource.jms.<A HREF="bitronix/tm/resource/jms/MessageProducerConsumerKey.html" title="class in bitronix.tm.resource.jms"><B>MessageProducerConsumerKey</B></A><LI TYPE="circle">bitronix.tm.resource.jms.<A HREF="bitronix/tm/resource/jms/MessageProducerWrapper.html" title="class in bitronix.tm.resource.jms"><B>MessageProducerWrapper</B></A> (implements javax.jms.MessageProducer)
+<LI TYPE="circle">java.awt.event.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/MouseAdapter.html?is-external=true" title="class or interface in java.awt.event"><B>MouseAdapter</B></A> (implements java.awt.event.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/MouseListener.html?is-external=true" title="class or interface in java.awt.event">MouseListener</A>, java.awt.event.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/MouseMotionListener [...]
+<UL>
+<LI TYPE="circle">bitronix.tm.gui.<A HREF="bitronix/tm/gui/TransactionTableMouseListener.html" title="class in bitronix.tm.gui"><B>TransactionTableMouseListener</B></A></UL>
+<LI TYPE="circle">bitronix.tm.journal.<A HREF="bitronix/tm/journal/NullJournal.html" title="class in bitronix.tm.journal"><B>NullJournal</B></A> (implements bitronix.tm.journal.<A HREF="bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal">Journal</A>)
+<LI TYPE="circle">bitronix.tm.utils.<A HREF="bitronix/tm/utils/PropertyUtils.html" title="class in bitronix.tm.utils"><B>PropertyUtils</B></A><LI TYPE="circle">bitronix.tm.recovery.<A HREF="bitronix/tm/recovery/Recoverer.html" title="class in bitronix.tm.recovery"><B>Recoverer</B></A> (implements bitronix.tm.recovery.<A HREF="bitronix/tm/recovery/RecovererMBean.html" title="interface in bitronix.tm.recovery">RecovererMBean</A>, java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/j [...]
+<LI TYPE="circle">bitronix.tm.recovery.<A HREF="bitronix/tm/recovery/RecoveryHelper.html" title="class in bitronix.tm.recovery"><B>RecoveryHelper</B></A><LI TYPE="circle">bitronix.tm.resource.common.<A HREF="bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common"><B>ResourceBean</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>)
+<UL>
+<LI TYPE="circle">bitronix.tm.resource.ehcache.<A HREF="bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html" title="class in bitronix.tm.resource.ehcache"><B>EhCacheXAResourceProducer</B></A> (implements bitronix.tm.resource.common.<A HREF="bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common">XAResourceProducer</A>)
+<LI TYPE="circle">bitronix.tm.resource.jms.<A HREF="bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms"><B>PoolingConnectionFactory</B></A> (implements javax.jms.ConnectionFactory, bitronix.tm.resource.jms.<A HREF="bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.html" title="interface in bitronix.tm.resource.jms">PoolingConnectionFactoryMBean</A>, bitronix.tm.resource.common.<A HREF="bitronix/tm/resource/common/XAResourceProducer.html" [...]
+<LI TYPE="circle">bitronix.tm.resource.jdbc.<A HREF="bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc"><B>PoolingDataSource</B></A> (implements javax.sql.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/DataSource.html?is-external=true" title="class or interface in javax.sql">DataSource</A>, bitronix.tm.resource.jdbc.<A HREF="bitronix/tm/resource/jdbc/PoolingDataSourceMBean.html" title="interface in bitronix.tm.resource.jdbc">PoolingDa [...]
+</UL>
+<LI TYPE="circle">bitronix.tm.resource.<A HREF="bitronix/tm/resource/ResourceLoader.html" title="class in bitronix.tm.resource"><B>ResourceLoader</B></A> (implements bitronix.tm.utils.<A HREF="bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A>)
+<LI TYPE="circle">bitronix.tm.resource.<A HREF="bitronix/tm/resource/ResourceObjectFactory.html" title="class in bitronix.tm.resource"><B>ResourceObjectFactory</B></A> (implements javax.naming.spi.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/spi/ObjectFactory.html?is-external=true" title="class or interface in javax.naming.spi">ObjectFactory</A>)
+<LI TYPE="circle">bitronix.tm.resource.<A HREF="bitronix/tm/resource/ResourceRegistrar.html" title="class in bitronix.tm.resource"><B>ResourceRegistrar</B></A><LI TYPE="circle">bitronix.tm.gui.<A HREF="bitronix/tm/gui/ResourcesTreeModel.html" title="class in bitronix.tm.gui"><B>ResourcesTreeModel</B></A> (implements javax.swing.tree.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/tree/TreeModel.html?is-external=true" title="class or interface in javax.swing.tree">TreeModel</A>)
+<LI TYPE="circle">bitronix.tm.utils.<A HREF="bitronix/tm/utils/Scheduler.html" title="class in bitronix.tm.utils"><B>Scheduler</B></A><LI TYPE="circle">bitronix.tm.twopc.executor.<A HREF="bitronix/tm/twopc/executor/SimpleAsyncExecutor.html" title="class in bitronix.tm.twopc.executor"><B>SimpleAsyncExecutor</B></A> (implements bitronix.tm.twopc.executor.<A HREF="bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A>)
+<LI TYPE="circle">bitronix.tm.twopc.executor.<A HREF="bitronix/tm/twopc/executor/SyncExecutor.html" title="class in bitronix.tm.twopc.executor"><B>SyncExecutor</B></A> (implements bitronix.tm.twopc.executor.<A HREF="bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor">Executor</A>)
+<LI TYPE="circle">bitronix.tm.timer.<A HREF="bitronix/tm/timer/Task.html" title="class in bitronix.tm.timer"><B>Task</B></A><UL>
+<LI TYPE="circle">bitronix.tm.timer.<A HREF="bitronix/tm/timer/PoolShrinkingTask.html" title="class in bitronix.tm.timer"><B>PoolShrinkingTask</B></A><LI TYPE="circle">bitronix.tm.timer.<A HREF="bitronix/tm/timer/RecoveryTask.html" title="class in bitronix.tm.timer"><B>RecoveryTask</B></A><LI TYPE="circle">bitronix.tm.timer.<A HREF="bitronix/tm/timer/TransactionTimeoutTask.html" title="class in bitronix.tm.timer"><B>TransactionTimeoutTask</B></A></UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang"><B>Thread</B></A> (implements java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</A>)
+<UL>
+<LI TYPE="circle">bitronix.tm.journal.<A HREF="bitronix/tm/journal/DiskForceBatcherThread.html" title="class in bitronix.tm.journal"><B>DiskForceBatcherThread</B></A><LI TYPE="circle">bitronix.tm.timer.<A HREF="bitronix/tm/timer/TaskScheduler.html" title="class in bitronix.tm.timer"><B>TaskScheduler</B></A> (implements bitronix.tm.utils.<A HREF="bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils">Service</A>)
+</UL>
+<LI TYPE="circle">bitronix.tm.internal.<A HREF="bitronix/tm/internal/ThreadContext.html" title="class in bitronix.tm.internal"><B>ThreadContext</B></A><LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><B>Throwable</B></A> (implements java.io.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializa [...]
+<UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><B>Exception</B></A><UL>
+<LI TYPE="circle">javax.transaction.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicCommitException.html?is-external=true" title="class or interface in javax.transaction"><B>HeuristicCommitException</B></A><UL>
+<LI TYPE="circle">bitronix.tm.internal.<A HREF="bitronix/tm/internal/BitronixHeuristicCommitException.html" title="class in bitronix.tm.internal"><B>BitronixHeuristicCommitException</B></A></UL>
+<LI TYPE="circle">javax.transaction.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicMixedException.html?is-external=true" title="class or interface in javax.transaction"><B>HeuristicMixedException</B></A><UL>
+<LI TYPE="circle">bitronix.tm.internal.<A HREF="bitronix/tm/internal/BitronixHeuristicMixedException.html" title="class in bitronix.tm.internal"><B>BitronixHeuristicMixedException</B></A></UL>
+<LI TYPE="circle">javax.transaction.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicRollbackException.html?is-external=true" title="class or interface in javax.transaction"><B>HeuristicRollbackException</B></A><UL>
+<LI TYPE="circle">bitronix.tm.internal.<A HREF="bitronix/tm/internal/BitronixHeuristicRollbackException.html" title="class in bitronix.tm.internal"><B>BitronixHeuristicRollbackException</B></A></UL>
+<LI TYPE="circle">java.io.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io"><B>IOException</B></A><UL>
+<LI TYPE="circle">bitronix.tm.journal.<A HREF="bitronix/tm/journal/CorruptedTransactionLogException.html" title="class in bitronix.tm.journal"><B>CorruptedTransactionLogException</B></A></UL>
+<LI TYPE="circle">bitronix.tm.twopc.<A HREF="bitronix/tm/twopc/PhaseException.html" title="class in bitronix.tm.twopc"><B>PhaseException</B></A><LI TYPE="circle">bitronix.tm.recovery.<A HREF="bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery"><B>RecoveryException</B></A><LI TYPE="circle">javax.transaction.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/RollbackException.html?is-external=true" title="class or interface in javax.transactio [...]
+<LI TYPE="circle">bitronix.tm.internal.<A HREF="bitronix/tm/internal/BitronixRollbackException.html" title="class in bitronix.tm.internal"><B>BitronixRollbackException</B></A></UL>
+<LI TYPE="circle">java.lang.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang"><B>RuntimeException</B></A><UL>
+<LI TYPE="circle">bitronix.tm.internal.<A HREF="bitronix/tm/internal/BitronixRuntimeException.html" title="class in bitronix.tm.internal"><B>BitronixRuntimeException</B></A><LI TYPE="circle">bitronix.tm.utils.<A HREF="bitronix/tm/utils/InitializationException.html" title="class in bitronix.tm.utils"><B>InitializationException</B></A><LI TYPE="circle">bitronix.tm.utils.<A HREF="bitronix/tm/utils/PropertyException.html" title="class in bitronix.tm.utils"><B>PropertyException</B></A><LI TYP [...]
+<LI TYPE="circle">javax.transaction.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction"><B>SystemException</B></A><UL>
+<LI TYPE="circle">bitronix.tm.internal.<A HREF="bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal"><B>BitronixSystemException</B></A><UL>
+<LI TYPE="circle">bitronix.tm.internal.<A HREF="bitronix/tm/internal/BitronixMultiSystemException.html" title="class in bitronix.tm.internal"><B>BitronixMultiSystemException</B></A><LI TYPE="circle">bitronix.tm.internal.<A HREF="bitronix/tm/internal/BitronixRollbackSystemException.html" title="class in bitronix.tm.internal"><B>BitronixRollbackSystemException</B></A></UL>
+</UL>
+<LI TYPE="circle">bitronix.tm.timer.<A HREF="bitronix/tm/timer/TaskException.html" title="class in bitronix.tm.timer"><B>TaskException</B></A><LI TYPE="circle">bitronix.tm.internal.<A HREF="bitronix/tm/internal/TransactionTimeoutException.html" title="class in bitronix.tm.internal"><B>TransactionTimeoutException</B></A><LI TYPE="circle">javax.transaction.xa.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface i [...]
+<LI TYPE="circle">bitronix.tm.internal.<A HREF="bitronix/tm/internal/BitronixXAException.html" title="class in bitronix.tm.internal"><B>BitronixXAException</B></A></UL>
+</UL>
+</UL>
+<LI TYPE="circle">bitronix.tm.resource.common.<A HREF="bitronix/tm/resource/common/TransactionContextHelper.html" title="class in bitronix.tm.resource.common"><B>TransactionContextHelper</B></A><LI TYPE="circle">bitronix.tm.journal.<A HREF="bitronix/tm/journal/TransactionLogAppender.html" title="class in bitronix.tm.journal"><B>TransactionLogAppender</B></A><LI TYPE="circle">bitronix.tm.journal.<A HREF="bitronix/tm/journal/TransactionLogCursor.html" title="class in bitronix.tm.journal">< [...]
+<UL>
+<LI TYPE="circle">bitronix.tm.gui.<A HREF="bitronix/tm/gui/PendingTransactionTableModel.html" title="class in bitronix.tm.gui"><B>PendingTransactionTableModel</B></A><LI TYPE="circle">bitronix.tm.gui.<A HREF="bitronix/tm/gui/RawTransactionTableModel.html" title="class in bitronix.tm.gui"><B>RawTransactionTableModel</B></A></UL>
+<LI TYPE="circle">bitronix.tm.utils.<A HREF="bitronix/tm/utils/Uid.html" title="class in bitronix.tm.utils"><B>Uid</B></A><LI TYPE="circle">bitronix.tm.utils.<A HREF="bitronix/tm/utils/UidGenerator.html" title="class in bitronix.tm.utils"><B>UidGenerator</B></A><LI TYPE="circle">bitronix.tm.<A HREF="bitronix/tm/Version.html" title="class in bitronix.tm"><B>Version</B></A><LI TYPE="circle">bitronix.tm.resource.common.<A HREF="bitronix/tm/resource/common/XAPool.html" title="class in bitron [...]
+<LI TYPE="circle">bitronix.tm.internal.<A HREF="bitronix/tm/internal/XAResourceHolderState.html" title="class in bitronix.tm.internal"><B>XAResourceHolderState</B></A><LI TYPE="circle">bitronix.tm.internal.<A HREF="bitronix/tm/internal/XAResourceManager.html" title="class in bitronix.tm.internal"><B>XAResourceManager</B></A></UL>
+</UL>
+<H2>
+Interface Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">bitronix.tm.<A HREF="bitronix/tm/BitronixTransactionMBean.html" title="interface in bitronix.tm"><B>BitronixTransactionMBean</B></A><LI TYPE="circle">bitronix.tm.resource.jdbc.<A HREF="bitronix/tm/resource/jdbc/ConnectionCustomizer.html" title="interface in bitronix.tm.resource.jdbc"><B>ConnectionCustomizer</B></A><LI TYPE="circle">bitronix.tm.resource.jdbc.<A HREF="bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.html" title="interface in bitronix.tm.resource.jdbc"> [...]
+<LI TYPE="circle">bitronix.tm.resource.common.<A HREF="bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><B>XAResourceProducer</B></A> (also extends java.io.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>)
+</UL>
+<LI TYPE="circle">java.io.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io"><B>Serializable</B></A><UL>
+<LI TYPE="circle">bitronix.tm.resource.common.<A HREF="bitronix/tm/resource/common/XAResourceProducer.html" title="interface in bitronix.tm.resource.common"><B>XAResourceProducer</B></A> (also extends javax.naming.<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/naming/Referenceable.html?is-external=true" title="class or interface in javax.naming">Referenceable</A>)
+</UL>
+<LI TYPE="circle">bitronix.tm.utils.<A HREF="bitronix/tm/utils/Service.html" title="interface in bitronix.tm.utils"><B>Service</B></A><UL>
+<LI TYPE="circle">bitronix.tm.twopc.executor.<A HREF="bitronix/tm/twopc/executor/Executor.html" title="interface in bitronix.tm.twopc.executor"><B>Executor</B></A><LI TYPE="circle">bitronix.tm.journal.<A HREF="bitronix/tm/journal/Journal.html" title="interface in bitronix.tm.journal"><B>Journal</B></A></UL>
+<LI TYPE="circle">bitronix.tm.resource.common.<A HREF="bitronix/tm/resource/common/StateChangeListener.html" title="interface in bitronix.tm.resource.common"><B>StateChangeListener</B></A><LI TYPE="circle">bitronix.tm.internal.<A HREF="bitronix/tm/internal/TransactionStatusChangeListener.html" title="interface in bitronix.tm.internal"><B>TransactionStatusChangeListener</B></A><LI TYPE="circle">bitronix.tm.resource.common.<A HREF="bitronix/tm/resource/common/XAStatefulHolder.html" title=" [...]
+<LI TYPE="circle">bitronix.tm.resource.common.<A HREF="bitronix/tm/resource/common/XAResourceHolder.html" title="interface in bitronix.tm.resource.common"><B>XAResourceHolder</B></A></UL>
+</UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="index.html?overview-tree.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/package-list b/doc/api/package-list
new file mode 100644
index 0000000..bcc276f
--- /dev/null
+++ b/doc/api/package-list
@@ -0,0 +1,17 @@
+bitronix.tm
+bitronix.tm.gui
+bitronix.tm.internal
+bitronix.tm.jndi
+bitronix.tm.journal
+bitronix.tm.recovery
+bitronix.tm.resource
+bitronix.tm.resource.common
+bitronix.tm.resource.ehcache
+bitronix.tm.resource.jdbc
+bitronix.tm.resource.jdbc.lrc
+bitronix.tm.resource.jms
+bitronix.tm.resource.jms.lrc
+bitronix.tm.timer
+bitronix.tm.twopc
+bitronix.tm.twopc.executor
+bitronix.tm.utils
diff --git a/doc/api/resources/inherit.gif b/doc/api/resources/inherit.gif
new file mode 100644
index 0000000..c814867
Binary files /dev/null and b/doc/api/resources/inherit.gif differ
diff --git a/doc/api/serialized-form.html b/doc/api/serialized-form.html
new file mode 100644
index 0000000..b2022e4
--- /dev/null
+++ b/doc/api/serialized-form.html
@@ -0,0 +1,1326 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.6.0_26) on Sun Oct 30 10:48:06 CET 2011 -->
+<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>
+Serialized Form (Bitronix Transaction Manager :: Core 2.1.2 API)
+</TITLE>
+
+<META NAME="date" CONTENT="2011-10-30">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+ if (location.href.indexOf('is-external=true') == -1) {
+ parent.document.title="Serialized Form (Bitronix Transaction Manager :: Core 2.1.2 API)";
+ }
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+<HR>
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="index.html?serialized-form.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="serialized-form.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H1>
+Serialized Form</H1>
+</CENTER>
+<HR SIZE="4" NOSHADE>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="center"><FONT SIZE="+2">
+<B>Package</B> <B>bitronix.tm.gui</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.gui.Console"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="bitronix/tm/gui/Console.html" title="class in bitronix.tm.gui">bitronix.tm.gui.Console</A> extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JFrame.html?is-external=true" title="class or interface in javax.swing">JFrame</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TH>
+</TR>
+</TABLE>
+
+<H3>
+tabbedPane</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JTabbedPane.html?is-external=true" title="class or interface in javax.swing">JTabbedPane</A> <B>tabbedPane</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+rawViewTransactionsTable</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JTable.html?is-external=true" title="class or interface in javax.swing">JTable</A> <B>rawViewTransactionsTable</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+pendingViewTransactionsTable</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JTable.html?is-external=true" title="class or interface in javax.swing">JTable</A> <B>pendingViewTransactionsTable</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+rawTransactionsTableScrollpane</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JScrollPane.html?is-external=true" title="class or interface in javax.swing">JScrollPane</A> <B>rawTransactionsTableScrollpane</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+pendingTransactionsTableScrollpane</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JScrollPane.html?is-external=true" title="class or interface in javax.swing">JScrollPane</A> <B>pendingTransactionsTableScrollpane</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+resourcesPanel</H3>
+<PRE>
+<A HREF="bitronix/tm/gui/ResourcesPanel.html" title="class in bitronix.tm.gui">ResourcesPanel</A> <B>resourcesPanel</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+statusBarPanel</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JPanel.html?is-external=true" title="class or interface in javax.swing">JPanel</A> <B>statusBarPanel</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+statusLabel</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing">JLabel</A> <B>statusLabel</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+transactionLogHeaderPanel1</H3>
+<PRE>
+<A HREF="bitronix/tm/gui/TransactionLogHeaderPanel.html" title="class in bitronix.tm.gui">TransactionLogHeaderPanel</A> <B>transactionLogHeaderPanel1</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+transactionLogHeaderPanel2</H3>
+<PRE>
+<A HREF="bitronix/tm/gui/TransactionLogHeaderPanel.html" title="class in bitronix.tm.gui">TransactionLogHeaderPanel</A> <B>transactionLogHeaderPanel2</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+menuBar</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JMenuBar.html?is-external=true" title="class or interface in javax.swing">JMenuBar</A> <B>menuBar</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+activeLogFile</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A> <B>activeLogFile</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+passiveLogFile</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A> <B>passiveLogFile</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+realActiveLogFile</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</A> <B>realActiveLogFile</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="bitronix.tm.gui.DuplicatedGtridTableModel"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="bitronix/tm/gui/DuplicatedGtridTableModel.html" title="class in bitronix.tm.gui">bitronix.tm.gui.DuplicatedGtridTableModel</A> extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/DefaultTableModel.html?is-external=true" title="class or interface in javax.swing.table">DefaultTableModel</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TH>
+</TR>
+</TABLE>
+
+<H3>
+duplicatedGtrids</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A><<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">K</A>,<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">V</A>> <B>duplicatedGtrids</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="bitronix.tm.gui.ResourcesPanel"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="bitronix/tm/gui/ResourcesPanel.html" title="class in bitronix.tm.gui">bitronix.tm.gui.ResourcesPanel</A> extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JPanel.html?is-external=true" title="class or interface in javax.swing">JPanel</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TH>
+</TR>
+</TABLE>
+
+<H3>
+splitPane</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JSplitPane.html?is-external=true" title="class or interface in javax.swing">JSplitPane</A> <B>splitPane</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+resourcesTree</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JTree.html?is-external=true" title="class or interface in javax.swing">JTree</A> <B>resourcesTree</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+resourcesTreeScrollpane</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JScrollPane.html?is-external=true" title="class or interface in javax.swing">JScrollPane</A> <B>resourcesTreeScrollpane</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+activeResource</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JTextArea.html?is-external=true" title="class or interface in javax.swing">JTextArea</A> <B>activeResource</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="bitronix.tm.gui.TransactionLogDialog"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="bitronix/tm/gui/TransactionLogDialog.html" title="class in bitronix.tm.gui">bitronix.tm.gui.TransactionLogDialog</A> extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JDialog.html?is-external=true" title="class or interface in javax.swing">JDialog</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TH>
+</TR>
+</TABLE>
+
+<H3>
+labelPanel</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JPanel.html?is-external=true" title="class or interface in javax.swing">JPanel</A> <B>labelPanel</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+statusLabel</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing">JLabel</A> <B>statusLabel</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+recordLengthLabel</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing">JLabel</A> <B>recordLengthLabel</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+headerLengthLabel</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing">JLabel</A> <B>headerLengthLabel</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+timeLabel</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing">JLabel</A> <B>timeLabel</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+sequenceNumberLabel</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing">JLabel</A> <B>sequenceNumberLabel</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+crc32Label</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing">JLabel</A> <B>crc32Label</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+gtridLabel</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing">JLabel</A> <B>gtridLabel</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+uniqueNamesLabel</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JLabel.html?is-external=true" title="class or interface in javax.swing">JLabel</A> <B>uniqueNamesLabel</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+fieldPanel</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JPanel.html?is-external=true" title="class or interface in javax.swing">JPanel</A> <B>fieldPanel</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+statusField</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JTextField.html?is-external=true" title="class or interface in javax.swing">JTextField</A> <B>statusField</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+recordLengthField</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JTextField.html?is-external=true" title="class or interface in javax.swing">JTextField</A> <B>recordLengthField</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+headerLengthField</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JTextField.html?is-external=true" title="class or interface in javax.swing">JTextField</A> <B>headerLengthField</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+timeField</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JTextField.html?is-external=true" title="class or interface in javax.swing">JTextField</A> <B>timeField</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+sequenceNumberField</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JTextField.html?is-external=true" title="class or interface in javax.swing">JTextField</A> <B>sequenceNumberField</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+crc32Field</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JTextField.html?is-external=true" title="class or interface in javax.swing">JTextField</A> <B>crc32Field</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+gtridField</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JTextField.html?is-external=true" title="class or interface in javax.swing">JTextField</A> <B>gtridField</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+uniqueNamesField</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JTextField.html?is-external=true" title="class or interface in javax.swing">JTextField</A> <B>uniqueNamesField</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="bitronix.tm.gui.TransactionLogHeaderPanel"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="bitronix/tm/gui/TransactionLogHeaderPanel.html" title="class in bitronix.tm.gui">bitronix.tm.gui.TransactionLogHeaderPanel</A> extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JPanel.html?is-external=true" title="class or interface in javax.swing">JPanel</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TH>
+</TR>
+</TABLE>
+
+<H3>
+logFileField</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JTextField.html?is-external=true" title="class or interface in javax.swing">JTextField</A> <B>logFileField</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+timestampField</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JTextField.html?is-external=true" title="class or interface in javax.swing">JTextField</A> <B>timestampField</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+stateField</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JTextField.html?is-external=true" title="class or interface in javax.swing">JTextField</A> <B>stateField</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+positionField</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JTextField.html?is-external=true" title="class or interface in javax.swing">JTextField</A> <B>positionField</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="bitronix.tm.gui.TransactionTableCellRenderer"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="bitronix/tm/gui/TransactionTableCellRenderer.html" title="class in bitronix.tm.gui">bitronix.tm.gui.TransactionTableCellRenderer</A> extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/table/DefaultTableCellRenderer.html?is-external=true" title="class or interface in javax.swing.table">DefaultTableCellRenderer</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<HR SIZE="4" NOSHADE>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="center"><FONT SIZE="+2">
+<B>Package</B> <B>bitronix.tm.internal</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.internal.BitronixHeuristicCommitException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="bitronix/tm/internal/BitronixHeuristicCommitException.html" title="class in bitronix.tm.internal">bitronix.tm.internal.BitronixHeuristicCommitException</A> extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicCommitException.html?is-external=true" title="class or interface in javax.transaction">HeuristicCommitException</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="bitronix.tm.internal.BitronixHeuristicMixedException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="bitronix/tm/internal/BitronixHeuristicMixedException.html" title="class in bitronix.tm.internal">bitronix.tm.internal.BitronixHeuristicMixedException</A> extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicMixedException.html?is-external=true" title="class or interface in javax.transaction">HeuristicMixedException</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="bitronix.tm.internal.BitronixHeuristicRollbackException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="bitronix/tm/internal/BitronixHeuristicRollbackException.html" title="class in bitronix.tm.internal">bitronix.tm.internal.BitronixHeuristicRollbackException</A> extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/HeuristicRollbackException.html?is-external=true" title="class or interface in javax.transaction">HeuristicRollbackException</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="bitronix.tm.internal.BitronixMultiSystemException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="bitronix/tm/internal/BitronixMultiSystemException.html" title="class in bitronix.tm.internal">bitronix.tm.internal.BitronixMultiSystemException</A> extends <A HREF="bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TH>
+</TR>
+</TABLE>
+
+<H3>
+exceptions</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A><<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">E</A>> <B>exceptions</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+resourceStates</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A><<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">E</A>> <B>resourceStates</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+
+<P>
+<A NAME="bitronix.tm.internal.BitronixRollbackException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="bitronix/tm/internal/BitronixRollbackException.html" title="class in bitronix.tm.internal">bitronix.tm.internal.BitronixRollbackException</A> extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/RollbackException.html?is-external=true" title="class or interface in javax.transaction">RollbackException</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="bitronix.tm.internal.BitronixRollbackSystemException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="bitronix/tm/internal/BitronixRollbackSystemException.html" title="class in bitronix.tm.internal">bitronix.tm.internal.BitronixRollbackSystemException</A> extends <A HREF="bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">BitronixSystemException</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="bitronix.tm.internal.BitronixRuntimeException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="bitronix/tm/internal/BitronixRuntimeException.html" title="class in bitronix.tm.internal">bitronix.tm.internal.BitronixRuntimeException</A> extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang">RuntimeException</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="bitronix.tm.internal.BitronixSystemException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="bitronix/tm/internal/BitronixSystemException.html" title="class in bitronix.tm.internal">bitronix.tm.internal.BitronixSystemException</A> extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/SystemException.html?is-external=true" title="class or interface in javax.transaction">SystemException</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="bitronix.tm.internal.BitronixXAException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="bitronix/tm/internal/BitronixXAException.html" title="class in bitronix.tm.internal">bitronix.tm.internal.BitronixXAException</A> extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/javax/transaction/xa/XAException.html?is-external=true" title="class or interface in javax.transaction.xa">XAException</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="bitronix.tm.internal.TransactionTimeoutException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="bitronix/tm/internal/TransactionTimeoutException.html" title="class in bitronix.tm.internal">bitronix.tm.internal.TransactionTimeoutException</A> extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<HR SIZE="4" NOSHADE>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="center"><FONT SIZE="+2">
+<B>Package</B> <B>bitronix.tm.journal</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.journal.CorruptedTransactionLogException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="bitronix/tm/journal/CorruptedTransactionLogException.html" title="class in bitronix.tm.journal">bitronix.tm.journal.CorruptedTransactionLogException</A> extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<HR SIZE="4" NOSHADE>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="center"><FONT SIZE="+2">
+<B>Package</B> <B>bitronix.tm.recovery</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.recovery.RecoveryException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="bitronix/tm/recovery/RecoveryException.html" title="class in bitronix.tm.recovery">bitronix.tm.recovery.RecoveryException</A> extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<HR SIZE="4" NOSHADE>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="center"><FONT SIZE="+2">
+<B>Package</B> <B>bitronix.tm.resource</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.ResourceConfigurationException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="bitronix/tm/resource/ResourceConfigurationException.html" title="class in bitronix.tm.resource">bitronix.tm.resource.ResourceConfigurationException</A> extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang">RuntimeException</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<HR SIZE="4" NOSHADE>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="center"><FONT SIZE="+2">
+<B>Package</B> <B>bitronix.tm.resource.common</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.common.ResourceBean"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">bitronix.tm.resource.common.ResourceBean</A> extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TH>
+</TR>
+</TABLE>
+
+<H3>
+className</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>className</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+uniqueName</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>uniqueName</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+automaticEnlistingEnabled</H3>
+<PRE>
+boolean <B>automaticEnlistingEnabled</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+useTmJoin</H3>
+<PRE>
+boolean <B>useTmJoin</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+driverProperties</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html?is-external=true" title="class or interface in java.util">Properties</A> <B>driverProperties</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+maxPoolSize</H3>
+<PRE>
+int <B>maxPoolSize</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+minPoolSize</H3>
+<PRE>
+int <B>minPoolSize</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+maxIdleTime</H3>
+<PRE>
+int <B>maxIdleTime</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+acquireIncrement</H3>
+<PRE>
+int <B>acquireIncrement</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+acquisitionTimeout</H3>
+<PRE>
+int <B>acquisitionTimeout</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+deferConnectionRelease</H3>
+<PRE>
+boolean <B>deferConnectionRelease</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+acquisitionInterval</H3>
+<PRE>
+int <B>acquisitionInterval</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+allowLocalTransactions</H3>
+<PRE>
+boolean <B>allowLocalTransactions</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+twoPcOrderingPosition</H3>
+<PRE>
+int <B>twoPcOrderingPosition</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+applyTransactionTimeout</H3>
+<PRE>
+boolean <B>applyTransactionTimeout</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+shareTransactionConnections</H3>
+<PRE>
+boolean <B>shareTransactionConnections</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+disabled</H3>
+<PRE>
+boolean <B>disabled</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+ignoreRecoveryFailures</H3>
+<PRE>
+boolean <B>ignoreRecoveryFailures</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR SIZE="4" NOSHADE>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="center"><FONT SIZE="+2">
+<B>Package</B> <B>bitronix.tm.resource.ehcache</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.ehcache.EhCacheXAResourceProducer"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.html" title="class in bitronix.tm.resource.ehcache">bitronix.tm.resource.ehcache.EhCacheXAResourceProducer</A> extends <A HREF="bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TH>
+</TR>
+</TABLE>
+
+<H3>
+xaResourceHolders</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A><<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">E</A>> <B>xaResourceHolders</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+recoveryXAResourceHolder</H3>
+<PRE>
+<A HREF="bitronix/tm/resource/common/RecoveryXAResourceHolder.html" title="class in bitronix.tm.resource.common">RecoveryXAResourceHolder</A> <B>recoveryXAResourceHolder</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR SIZE="4" NOSHADE>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="center"><FONT SIZE="+2">
+<B>Package</B> <B>bitronix.tm.resource.jdbc</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jdbc.PoolingDataSource"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="bitronix/tm/resource/jdbc/PoolingDataSource.html" title="class in bitronix.tm.resource.jdbc">bitronix.tm.resource.jdbc.PoolingDataSource</A> extends <A HREF="bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TH>
+</TR>
+</TABLE>
+
+<H3>
+testQuery</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>testQuery</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+enableJdbc4ConnectionTest</H3>
+<PRE>
+boolean <B>enableJdbc4ConnectionTest</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+preparedStatementCacheSize</H3>
+<PRE>
+int <B>preparedStatementCacheSize</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+isolationLevel</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>isolationLevel</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+cursorHoldability</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>cursorHoldability</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+localAutoCommit</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>localAutoCommit</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+jmxName</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>jmxName</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+connectionCustomizers</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A><<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">E</A>> <B>connectionCustomizers</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR SIZE="4" NOSHADE>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="center"><FONT SIZE="+2">
+<B>Package</B> <B>bitronix.tm.resource.jms</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.resource.jms.PoolingConnectionFactory"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="bitronix/tm/resource/jms/PoolingConnectionFactory.html" title="class in bitronix.tm.resource.jms">bitronix.tm.resource.jms.PoolingConnectionFactory</A> extends <A HREF="bitronix/tm/resource/common/ResourceBean.html" title="class in bitronix.tm.resource.common">ResourceBean</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TH>
+</TR>
+</TABLE>
+
+<H3>
+cacheProducersConsumers</H3>
+<PRE>
+boolean <B>cacheProducersConsumers</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+testConnections</H3>
+<PRE>
+boolean <B>testConnections</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+user</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>user</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+password</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>password</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+recoveryConnectionHandle</H3>
+<PRE>
+<A HREF="bitronix/tm/resource/jms/JmsConnectionHandle.html" title="class in bitronix.tm.resource.jms">JmsConnectionHandle</A> <B>recoveryConnectionHandle</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+jmxName</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <B>jmxName</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR SIZE="4" NOSHADE>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="center"><FONT SIZE="+2">
+<B>Package</B> <B>bitronix.tm.timer</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.timer.TaskException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="bitronix/tm/timer/TaskException.html" title="class in bitronix.tm.timer">bitronix.tm.timer.TaskException</A> extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<HR SIZE="4" NOSHADE>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="center"><FONT SIZE="+2">
+<B>Package</B> <B>bitronix.tm.twopc</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.twopc.PhaseException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="bitronix/tm/twopc/PhaseException.html" title="class in bitronix.tm.twopc">bitronix.tm.twopc.PhaseException</A> extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="serializedForm"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Serialized Fields</B></FONT></TH>
+</TR>
+</TABLE>
+
+<H3>
+exceptions</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A><<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">E</A>> <B>exceptions</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR>
+<H3>
+resourceStates</H3>
+<PRE>
+<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</A><<A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">E</A>> <B>resourceStates</B></PRE>
+<DL>
+<DL>
+</DL>
+</DL>
+<HR SIZE="4" NOSHADE>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="center"><FONT SIZE="+2">
+<B>Package</B> <B>bitronix.tm.utils</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="bitronix.tm.utils.InitializationException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="bitronix/tm/utils/InitializationException.html" title="class in bitronix.tm.utils">bitronix.tm.utils.InitializationException</A> extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang">RuntimeException</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<A NAME="bitronix.tm.utils.PropertyException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="bitronix/tm/utils/PropertyException.html" title="class in bitronix.tm.utils">bitronix.tm.utils.PropertyException</A> extends <A HREF="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang">RuntimeException</A> implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+ <TR ALIGN="center" VALIGN="top">
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Package</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Use</FONT> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="overview-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
+ <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
+ </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ PREV
+ NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+ <A HREF="index.html?serialized-form.html" target="_top"><B>FRAMES</B></A>
+ <A HREF="serialized-form.html" target="_top"><B>NO FRAMES</B></A>
+ <SCRIPT type="text/javascript">
+ <!--
+ if(window==top) {
+ document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+ }
+ //-->
+</SCRIPT>
+<NOSCRIPT>
+ <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+Copyright © 2006-2011 <a href="http://bitronix.be/">Bitronix Software</a>. All Rights Reserved.
+</BODY>
+</HTML>
diff --git a/doc/api/stylesheet.css b/doc/api/stylesheet.css
new file mode 100644
index 0000000..6ea9e51
--- /dev/null
+++ b/doc/api/stylesheet.css
@@ -0,0 +1,29 @@
+/* Javadoc style sheet */
+
+/* Define colors, fonts and other style attributes here to override the defaults */
+
+/* Page background color */
+body { background-color: #FFFFFF; color:#000000 }
+
+/* Headings */
+h1 { font-size: 145% }
+
+/* Table colors */
+.TableHeadingColor { background: #CCCCFF; color:#000000 } /* Dark mauve */
+.TableSubHeadingColor { background: #EEEEFF; color:#000000 } /* Light mauve */
+.TableRowColor { background: #FFFFFF; color:#000000 } /* White */
+
+/* Font used in left-hand frame lists */
+.FrameTitleFont { font-size: 100%; font-family: Helvetica, Arial, sans-serif; color:#000000 }
+.FrameHeadingFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 }
+.FrameItemFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 }
+
+/* Navigation bar fonts and colors */
+.NavBarCell1 { background-color:#EEEEFF; color:#000000} /* Light mauve */
+.NavBarCell1Rev { background-color:#00008B; color:#FFFFFF} /* Dark Blue */
+.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;color:#000000;}
+.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;color:#FFFFFF;}
+
+.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000}
+.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000}
+
diff --git a/doc/bitronix.html b/doc/bitronix.html
new file mode 100644
index 0000000..aeda1d1
--- /dev/null
+++ b/doc/bitronix.html
@@ -0,0 +1,8 @@
+<html>
+<head>
+<meta http-equiv="refresh" content="2; url=api/index.html">
+</head>
+<body>
+ redirecting to <a href="api/index.html">API javadoc</a> ...
+</body>
+</html>
diff --git a/lib/APACHE-LICENSE-2.0.txt b/lib/APACHE-LICENSE-2.0.txt
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/lib/APACHE-LICENSE-2.0.txt
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/lib/SLF4J-LICENSE.txt b/lib/SLF4J-LICENSE.txt
new file mode 100644
index 0000000..f5ecafa
--- /dev/null
+++ b/lib/SLF4J-LICENSE.txt
@@ -0,0 +1,21 @@
+Copyright (c) 2004-2008 QOS.ch
+All rights reserved.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/license.txt b/license.txt
new file mode 100644
index 0000000..65c5ca8
--- /dev/null
+++ b/license.txt
@@ -0,0 +1,165 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+ This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+ 0. Additional Definitions.
+
+ As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+ "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+ An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+ A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+ The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+ The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+ 1. Exception to Section 3 of the GNU GPL.
+
+ You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+ 2. Conveying Modified Versions.
+
+ If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+ a) under this License, provided that you make a good faith effort to
+ ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+
+ b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+ 3. Object Code Incorporating Material from Library Header Files.
+
+ The object code form of an Application may incorporate material from
+a header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+ a) Give prominent notice with each copy of the object code that the
+ Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the object code with a copy of the GNU GPL and this license
+ document.
+
+ 4. Combined Works.
+
+ You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+ a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
+ document.
+
+ c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+ 0) Convey the Minimal Corresponding Source under the terms of this
+ License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+
+ 1) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (a) uses at run time
+ a copy of the Library already present on the user's computer
+ system, and (b) will operate properly with a modified version
+ of the Library that is interface-compatible with the Linked
+ Version.
+
+ e) Provide Installation Information, but only if you would otherwise
+ be required to provide such information under section 6 of the
+ GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the
+ Application with a modified version of the Linked Version. (If
+ you use option 4d0, the Installation Information must accompany
+ the Minimal Corresponding Source and Corresponding Application
+ Code. If you use option 4d1, you must provide the Installation
+ Information in the manner specified by section 6 of the GNU GPL
+ for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+ You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+ a) Accompany the combined library with a copy of the same work based
+ on the Library, uncombined with any other library facilities,
+ conveyed under the terms of this License.
+
+ b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+ The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+ If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
diff --git a/release-notes-2.1.2.txt b/release-notes-2.1.2.txt
new file mode 100644
index 0000000..323c805
--- /dev/null
+++ b/release-notes-2.1.2.txt
@@ -0,0 +1,34 @@
+BTM - Bitronix's JTA transaction manager
+========================================
+version 2.1.2, Oct 24, 2011
+
+Getting started guide: http://docs.codehaus.org/display/BTM/NewUserGuide
+Best practices: http://docs.codehaus.org/display/BTM/JtaBestPractices
+API javadoc: http://btm.codehaus.org/api/2.1.2/
+
+ New features and bugs fixed in this release
+ --------------------------------------------
+Important note: starting with version 2.1.0, BTM does not support JDK 1.4
+anymore. You have to use at least JDK 1.5.
+
+* BTM-110 OperationNotSupportedException for Hibernate 4.x datasource lookup
+* BTM-111 Connection Customization Required
+* BTM-112 EhCacheXAResourceProducer does not cleanup after last XAResource has been unregistered
+
+Using BTM
+---------
+Required jars are distributed in the lib/ subdirectory.
+
+Latest Documentation:
+ http://docs.codehaus.org/display/BTM/
+
+Bug Reports:
+ BTM JIRA (http://jira.codehaus.org/browse/BTM/)
+ or BTM mailing list (http://www.nabble.com/Bitronix-Transaction-Manager-f25701.html)
+
+
+License
+-------
+This software is distributed under the terms of the GNU Lesser General Public License (see license.txt).
+
+This product includes software developed by the Apache Software Foundation (http://www.apache.org/).
diff --git a/src/bitronix/tm/BitronixTransaction.java b/src/bitronix/tm/BitronixTransaction.java
new file mode 100644
index 0000000..47de628
--- /dev/null
+++ b/src/bitronix/tm/BitronixTransaction.java
@@ -0,0 +1,551 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm;
+
+import bitronix.tm.internal.*;
+import bitronix.tm.journal.Journal;
+import bitronix.tm.twopc.*;
+import bitronix.tm.resource.ResourceRegistrar;
+import bitronix.tm.resource.common.XAResourceHolder;
+import bitronix.tm.utils.*;
+import org.slf4j.LoggerFactory;
+import org.slf4j.Logger;
+
+import javax.transaction.*;
+import javax.transaction.xa.XAException;
+import javax.transaction.xa.XAResource;
+import java.io.IOException;
+import java.util.*;
+
+/**
+ * Implementation of {@link Transaction}.
+ *
+ * @author lorban
+ */
+public class BitronixTransaction implements Transaction, BitronixTransactionMBean {
+
+ private final static Logger log = LoggerFactory.getLogger(BitronixTransaction.class);
+
+ private volatile int status = Status.STATUS_NO_TRANSACTION;
+ private XAResourceManager resourceManager;
+ private Scheduler synchronizationScheduler = new Scheduler();
+ private List transactionStatusListeners = new ArrayList();
+ private boolean timeout = false;
+ private Date timeoutDate;
+
+ private Preparer preparer = new Preparer(TransactionManagerServices.getExecutor());
+ private Committer committer = new Committer(TransactionManagerServices.getExecutor());
+ private Rollbacker rollbacker = new Rollbacker(TransactionManagerServices.getExecutor());
+
+ /* management */
+ private String threadName;
+ private Date startDate;
+
+
+ public BitronixTransaction() {
+ Uid gtrid = UidGenerator.generateUid();
+ if (log.isDebugEnabled()) log.debug("creating new transaction with GTRID [" + gtrid + "]");
+ this.resourceManager = new XAResourceManager(gtrid);
+
+ this.threadName = Thread.currentThread().getName();
+ }
+
+ public int getStatus() throws SystemException {
+ return status;
+ }
+
+ public boolean enlistResource(XAResource xaResource) throws RollbackException, IllegalStateException, SystemException {
+ if (status == Status.STATUS_NO_TRANSACTION)
+ throw new IllegalStateException("transaction hasn't started yet");
+ if (status == Status.STATUS_MARKED_ROLLBACK)
+ throw new BitronixRollbackException("transaction has been marked as rollback only");
+ if (isDone())
+ throw new IllegalStateException("transaction started or finished 2PC, cannot enlist any more resource");
+
+ XAResourceHolder resourceHolder = ResourceRegistrar.findXAResourceHolder(xaResource);
+ if (resourceHolder == null)
+ throw new BitronixSystemException("unknown XAResource " + xaResource + ", it does not belong to a registered resource");
+
+ XAResourceHolderState resourceHolderState = new XAResourceHolderState(resourceHolder, resourceHolder.getResourceBean());
+
+ // resource timeout must be set here so manually enlisted resources can receive it
+ resourceHolderState.setTransactionTimeoutDate(timeoutDate);
+
+ try {
+ resourceManager.enlist(resourceHolderState);
+ } catch (XAException ex) {
+ if (BitronixXAException.isUnilateralRollback(ex)) {
+ // if the resource unilaterally rolled back, the transaction will never be able to commit -> mark it as rollback only
+ setStatus(Status.STATUS_MARKED_ROLLBACK);
+ throw new BitronixRollbackException("resource " + resourceHolderState + " unilaterally rolled back, error=" + Decoder.decodeXAExceptionErrorCode(ex), ex);
+ }
+ throw new BitronixSystemException("cannot enlist " + resourceHolderState + ", error=" + Decoder.decodeXAExceptionErrorCode(ex), ex);
+ }
+
+ resourceHolder.putXAResourceHolderState(resourceHolderState.getXid(), resourceHolderState);
+ return true;
+ }
+
+ public boolean delistResource(XAResource xaResource, int flag) throws IllegalStateException, SystemException {
+ if (status == Status.STATUS_NO_TRANSACTION)
+ throw new IllegalStateException("transaction hasn't started yet");
+ if (flag != XAResource.TMSUCCESS && flag != XAResource.TMSUSPEND && flag != XAResource.TMFAIL)
+ throw new BitronixSystemException("can only delist with SUCCESS, SUSPEND, FAIL - was: " + Decoder.decodeXAResourceFlag(flag));
+ if (isWorking())
+ throw new IllegalStateException("transaction is being committed or rolled back, cannot delist any resource now");
+
+ XAResourceHolder resourceHolder = ResourceRegistrar.findXAResourceHolder(xaResource);
+ if (resourceHolder == null)
+ throw new BitronixSystemException("unknown XAResource " + xaResource + ", it does not belong to a registered resource");
+
+ Map statesForGtrid = resourceHolder.getXAResourceHolderStatesForGtrid(resourceManager.getGtrid());
+ Iterator statesForGtridIt = statesForGtrid.values().iterator();
+
+ boolean result = false;
+ List exceptions = new ArrayList();
+ List resourceStates = new ArrayList();
+ while (statesForGtridIt.hasNext()) {
+ XAResourceHolderState resourceHolderState = (XAResourceHolderState) statesForGtridIt.next();
+ try {
+ result &= delistResource(resourceHolderState, flag);
+ } catch (BitronixSystemException ex) {
+ if (log.isDebugEnabled()) log.debug("failed to delist resource state " + resourceHolderState);
+ exceptions.add(ex);
+ resourceStates.add(resourceHolderState);
+ }
+ }
+ if (!exceptions.isEmpty()) {
+ BitronixMultiSystemException multiSystemException = new BitronixMultiSystemException("error delisting resource", exceptions, resourceStates);
+ if (!multiSystemException.isUnilateralRollback())
+ throw multiSystemException;
+ else
+ if (log.isDebugEnabled()) log.debug("unilateral rollback of resource " + resourceHolder, multiSystemException);
+ }
+
+ return result;
+ }
+
+ private boolean delistResource(XAResourceHolderState resourceHolderState, int flag) throws BitronixSystemException {
+ try {
+ return resourceManager.delist(resourceHolderState, flag);
+ }
+ catch (XAException ex) {
+ // if the resource could not be delisted, the transaction must not commit -> mark it as rollback only
+ if (status != Status.STATUS_MARKED_ROLLBACK)
+ setStatus(Status.STATUS_MARKED_ROLLBACK);
+
+ if (BitronixXAException.isUnilateralRollback(ex)) {
+ // The resource unilaterally rolled back here. We have to throw an exception to indicate this but
+ // The signature of this method is inherited from javax.transaction.Transaction. Thereof, we have choice
+ // between creating a sub-exception of SystemException or using a RuntimeException. Is that the best way
+ // forward as this 'hidden' exception can be left throw out at unexpected locations where SystemException
+ // should be rethrown but the exception thrown here should be catched & handled... ?
+ throw new BitronixRollbackSystemException("resource " + resourceHolderState + " unilaterally rolled back, error=" + Decoder.decodeXAExceptionErrorCode(ex), ex);
+ }
+ throw new BitronixSystemException("cannot delist " + resourceHolderState + ", error=" + Decoder.decodeXAExceptionErrorCode(ex), ex);
+ }
+ }
+
+ public void registerSynchronization(Synchronization synchronization) throws RollbackException, IllegalStateException, SystemException {
+ if (status == Status.STATUS_NO_TRANSACTION)
+ throw new IllegalStateException("transaction hasn't started yet");
+ if (status == Status.STATUS_MARKED_ROLLBACK)
+ throw new BitronixRollbackException("transaction has been marked as rollback only");
+ if (isDone())
+ throw new IllegalStateException("transaction is done, cannot register any more synchronization");
+
+ if (log.isDebugEnabled()) log.debug("registering synchronization " + synchronization);
+ synchronizationScheduler.add(synchronization, Scheduler.DEFAULT_POSITION);
+ }
+
+ public Scheduler getSynchronizationScheduler() {
+ return synchronizationScheduler;
+ }
+
+ public void commit() throws RollbackException, HeuristicMixedException, HeuristicRollbackException, SecurityException, SystemException {
+ if (status == Status.STATUS_NO_TRANSACTION)
+ throw new IllegalStateException("transaction hasn't started yet");
+ if (isDone())
+ throw new IllegalStateException("transaction is done, cannot commit it");
+
+ TransactionManagerServices.getTaskScheduler().cancelTransactionTimeout(this);
+
+ // beforeCompletion must be called before the check to STATUS_MARKED_ROLLBACK as the synchronization
+ // can still set the status to STATUS_MARKED_ROLLBACK.
+ fireBeforeCompletionEvent();
+
+ // The following if statements and try/catch block must not be included in the prepare try-catch block as
+ // they call rollback().
+ // Doing so would call fireAfterCompletionEvent() twice in case one of those conditions are true.
+ if (timedOut()) {
+ if (log.isDebugEnabled()) log.debug("transaction timed out");
+ rollback();
+ throw new BitronixRollbackException("transaction timed out and has been rolled back");
+ }
+
+ try {
+ delistUnclosedResources(XAResource.TMSUCCESS);
+ } catch (BitronixRollbackException ex) {
+ if (log.isDebugEnabled()) log.debug("delistment error causing transaction rollback", ex);
+ rollback();
+ throw new BitronixRollbackException("delistment error caused transaction rollback" + ex.getMessage());
+ }
+
+ if (status == Status.STATUS_MARKED_ROLLBACK) {
+ if (log.isDebugEnabled()) log.debug("transaction marked as rollback only");
+ rollback();
+ throw new BitronixRollbackException("transaction was marked as rollback only and has been rolled back");
+ }
+
+ try {
+ List interestedResources;
+
+ // prepare phase
+ try {
+ if (log.isDebugEnabled()) log.debug("committing, " + resourceManager.size() + " enlisted resource(s)");
+
+ interestedResources = preparer.prepare(this);
+ }
+ catch (RollbackException ex) {
+ if (log.isDebugEnabled()) log.debug("caught rollback exception during prepare, trying to rollback");
+
+ // rollbackPrepareFailure might throw a SystemException that will 'swallow' the RollbackException which is
+ // what we want in that case as the transaction has not been rolled back and some resources are now left in-doubt.
+ rollbackPrepareFailure(ex);
+ throw new BitronixRollbackException("transaction failed to prepare: " + this, ex);
+ }
+
+ // commit phase
+ if (log.isDebugEnabled()) log.debug(interestedResources.size() + " interested resource(s)");
+
+ committer.commit(this, interestedResources);
+
+ if (log.isDebugEnabled()) log.debug("successfully committed " + this);
+ }
+ finally {
+ fireAfterCompletionEvent();
+ }
+ }
+
+ public void rollback() throws IllegalStateException, SystemException {
+ if (status == Status.STATUS_NO_TRANSACTION)
+ throw new IllegalStateException("transaction hasn't started yet");
+ if (isDone())
+ throw new IllegalStateException("transaction is done, cannot roll it back");
+
+ TransactionManagerServices.getTaskScheduler().cancelTransactionTimeout(this);
+
+ try {
+ delistUnclosedResources(XAResource.TMSUCCESS);
+ } catch (BitronixRollbackException ex) {
+ if (log.isDebugEnabled()) log.debug("some resource(s) failed delistment", ex);
+ }
+
+ try {
+ try {
+ if (log.isDebugEnabled()) log.debug("rolling back, " + resourceManager.size() + " enlisted resource(s)");
+
+ List resourcesToRollback = new ArrayList();
+ List allResources = resourceManager.getAllResources();
+ for (int i = 0; i < allResources.size(); i++) {
+ XAResourceHolderState resourceHolderState = (XAResourceHolderState) allResources.get(i);
+ if (!resourceHolderState.isFailed())
+ resourcesToRollback.add(resourceHolderState);
+ }
+
+ rollbacker.rollback(this, resourcesToRollback);
+
+ if (log.isDebugEnabled()) log.debug("successfully rolled back " + this);
+ } catch (HeuristicMixedException ex) {
+ throw new BitronixSystemException("transaction partly committed and partly rolled back. Resources are now inconsistent !", ex);
+ } catch (HeuristicCommitException ex) {
+ throw new BitronixSystemException("transaction committed instead of rolled back. Resources are now inconsistent !", ex);
+ }
+ } finally {
+ fireAfterCompletionEvent();
+ }
+ }
+
+ public void setRollbackOnly() throws IllegalStateException, SystemException {
+ if (status == Status.STATUS_NO_TRANSACTION)
+ throw new IllegalStateException("transaction hasn't started yet");
+ if (isDone())
+ throw new IllegalStateException("transaction is done, cannot change its status");
+
+ setStatus(Status.STATUS_MARKED_ROLLBACK);
+ }
+
+ public XAResourceManager getResourceManager() {
+ return resourceManager;
+ }
+
+ public void timeout() throws BitronixSystemException {
+ this.timeout = true;
+ setStatus(Status.STATUS_MARKED_ROLLBACK);
+ log.warn("transaction timed out: " + this);
+ }
+
+ public boolean timedOut() {
+ return timeout;
+ }
+
+ public void setActive(int timeout) throws IllegalStateException, SystemException {
+ if (status != Status.STATUS_NO_TRANSACTION)
+ throw new IllegalStateException("transaction has already started");
+
+ setStatus(Status.STATUS_ACTIVE);
+ this.startDate = new Date();
+ this.timeoutDate = new Date(System.currentTimeMillis() + (timeout * 1000L));
+
+ TransactionManagerServices.getTaskScheduler().scheduleTransactionTimeout(this, timeoutDate);
+ }
+
+
+ public void setStatus(int status) throws BitronixSystemException {
+ setStatus(status, resourceManager.collectUniqueNames());
+ }
+
+ public void setStatus(int status, Set uniqueNames) throws BitronixSystemException {
+ try {
+ boolean force = (resourceManager.size() > 1) && (status == Status.STATUS_COMMITTING);
+ if (log.isDebugEnabled()) log.debug("changing transaction status to " + Decoder.decodeStatus(status) + (force ? " (forced)" : ""));
+
+ int oldStatus = this.status;
+ this.status = status;
+ Journal journal = TransactionManagerServices.getJournal();
+ journal.log(status, resourceManager.getGtrid(), uniqueNames);
+ if (force) {
+ journal.force();
+ }
+
+ if (status == Status.STATUS_ACTIVE)
+ ManagementRegistrar.register("bitronix.tm:type=Transaction,Gtrid=" + resourceManager.getGtrid(), this);
+
+ fireTransactionStatusChangedEvent(oldStatus, status);
+ } catch (IOException ex) {
+ // if we cannot log, the TM must stop managing TX until the problem is fixed
+ throw new BitronixSystemException("error logging status", ex);
+ }
+ }
+
+ private void fireTransactionStatusChangedEvent(int oldStatus, int newStatus) {
+ if (log.isDebugEnabled()) log.debug("transaction status is changing from " + Decoder.decodeStatus(oldStatus) + " to " +
+ Decoder.decodeStatus(newStatus) + " - executing " + transactionStatusListeners.size() + " listener(s)");
+
+ for (int i = 0; i < transactionStatusListeners.size(); i++) {
+ TransactionStatusChangeListener listener = (TransactionStatusChangeListener) transactionStatusListeners.get(i);
+ if (log.isDebugEnabled()) log.debug("executing TransactionStatusChangeListener " + listener);
+ listener.statusChanged(oldStatus, newStatus);
+ if (log.isDebugEnabled()) log.debug("executed TransactionStatusChangeListener " + listener);
+ }
+ }
+
+ public void addTransactionStatusChangeListener(TransactionStatusChangeListener listener) {
+ transactionStatusListeners.add(listener);
+ }
+
+ public int hashCode() {
+ return resourceManager.getGtrid().hashCode();
+ }
+
+ public boolean equals(Object obj) {
+ if (obj instanceof BitronixTransaction) {
+ BitronixTransaction tx = (BitronixTransaction) obj;
+ return resourceManager.getGtrid().equals(tx.resourceManager.getGtrid());
+ }
+ return false;
+ }
+
+ public String toString() {
+ return "a Bitronix Transaction with GTRID [" + resourceManager.getGtrid() + "], status=" + Decoder.decodeStatus(status) + ", " + resourceManager.size() + " resource(s) enlisted (started " + startDate + ")";
+ }
+
+
+ /*
+ * Internal impl
+ */
+
+
+ /**
+ * Delist all resources that have not been closed before calling tm.commit(). This basically means calling
+ * XAResource.end() on all resource that has not been ended yet.
+ * @param flag the flag to pass to XAResource.end(). Either TMSUCCESS or TMFAIL.
+ * @throws bitronix.tm.internal.BitronixRollbackException if some resources unilaterally rolled back before end() call.
+ */
+ private void delistUnclosedResources(int flag) throws BitronixRollbackException {
+ List resources = resourceManager.getAllResources();
+ List rolledBackResources = new ArrayList();
+ List failedResources = new ArrayList();
+
+ for (int i = 0; i < resources.size(); i++) {
+ XAResourceHolderState resourceHolderState = (XAResourceHolderState) resources.get(i);
+ if (!resourceHolderState.isEnded()) {
+ if (log.isDebugEnabled()) log.debug("found unclosed resource to delist: " + resourceHolderState);
+ try {
+ delistResource(resourceHolderState, flag);
+ } catch (BitronixRollbackSystemException ex) {
+ rolledBackResources.add(resourceHolderState);
+ if (log.isDebugEnabled()) log.debug("resource unilaterally rolled back: " + resourceHolderState, ex);
+ } catch (SystemException ex) {
+ failedResources.add(resourceHolderState);
+ log.warn("error delisting resource, assuming unilateral rollback: " + resourceHolderState, ex);
+ }
+ }
+ else
+ if (log.isDebugEnabled()) log.debug("no need to delist already closed resource: " + resourceHolderState);
+ } // for
+
+ if (!rolledBackResources.isEmpty() || !failedResources.isEmpty()) {
+ StringBuffer sb = new StringBuffer();
+ if (!rolledBackResources.isEmpty()) {
+ sb.append(System.getProperty("line.separator"));
+ sb.append(" resource(s) ");
+ sb.append(Decoder.collectResourcesNames(rolledBackResources));
+ sb.append(" unilaterally rolled back");
+
+ }
+ if (!failedResources.isEmpty()) {
+ sb.append(System.getProperty("line.separator"));
+ sb.append(" resource(s) ");
+ sb.append(Decoder.collectResourcesNames(failedResources));
+ sb.append(" could not be delisted");
+
+ }
+
+ throw new BitronixRollbackException(sb.toString());
+ }
+ }
+
+ /**
+ * Rollback resources after a phase 1 prepare failure. All resources must be rolled back as prepared ones
+ * are in-doubt and non-prepared ones have started/ended work done that must also be cleaned.
+ * @param rbEx the thrown rollback exception.
+ * @throws BitronixSystemException when a resource could not rollback prepapared state.
+ */
+ private void rollbackPrepareFailure(RollbackException rbEx) throws BitronixSystemException {
+ List interestedResources = resourceManager.getAllResources();
+ try {
+ rollbacker.rollback(this, interestedResources);
+ if (log.isDebugEnabled()) log.debug("rollback after prepare failure succeeded");
+ } catch (Exception ex) {
+ // let's merge both exceptions' PhaseException to report a complete error message
+ PhaseException preparePhaseEx = (PhaseException) rbEx.getCause();
+ PhaseException rollbackPhaseEx = (PhaseException) ex.getCause();
+
+ List exceptions = new ArrayList();
+ List resources = new ArrayList();
+
+ exceptions.addAll(preparePhaseEx.getExceptions());
+ exceptions.addAll(rollbackPhaseEx.getExceptions());
+ resources.addAll(preparePhaseEx.getResourceStates());
+ resources.addAll(rollbackPhaseEx.getResourceStates());
+
+ throw new BitronixSystemException("transaction partially prepared and only partially rolled back. Some resources might be left in doubt!", new PhaseException(exceptions, resources));
+ }
+ }
+
+ /**
+ * Run all registered Synchronizations' beforeCompletion() method. Be aware that this method can change the
+ * transaction status to mark it as rollback only for instance.
+ * @throws bitronix.tm.internal.BitronixSystemException if status changing due to a synchronization throwing an
+ * exception fails.
+ */
+ private void fireBeforeCompletionEvent() throws BitronixSystemException {
+ if (log.isDebugEnabled()) log.debug("before completion, " + synchronizationScheduler.size() + " synchronization(s) to execute");
+ Iterator it = synchronizationScheduler.reverseIterator();
+ while (it.hasNext()) {
+ Synchronization synchronization = (Synchronization) it.next();
+ try {
+ if (log.isDebugEnabled()) log.debug("executing synchronization " + synchronization);
+ synchronization.beforeCompletion();
+ } catch (RuntimeException ex) {
+ if (log.isDebugEnabled()) log.debug("Synchronization.beforeCompletion() call failed for " + synchronization + ", marking transaction as rollback only - " + ex);
+ setStatus(Status.STATUS_MARKED_ROLLBACK);
+ throw ex;
+ }
+ }
+ }
+
+ private void fireAfterCompletionEvent() {
+ // this TX is no longer in-flight -> remove this transaction's state from all XAResourceHolders
+ getResourceManager().clearXAResourceHolderStates();
+
+ if (log.isDebugEnabled()) log.debug("after completion, " + synchronizationScheduler.size() + " synchronization(s) to execute");
+ Iterator it = synchronizationScheduler.iterator();
+ while (it.hasNext()) {
+ Synchronization synchronization = (Synchronization) it.next();
+ try {
+ if (log.isDebugEnabled()) log.debug("executing synchronization " + synchronization + " with status=" + Decoder.decodeStatus(status));
+ synchronization.afterCompletion(status);
+ } catch (Exception ex) {
+ log.warn("Synchronization.afterCompletion() call failed for " + synchronization, ex);
+ }
+ }
+
+ ManagementRegistrar.unregister("bitronix.tm:type=Transaction,Gtrid=" + resourceManager.getGtrid());
+ }
+
+ private boolean isDone() {
+ switch (status) {
+ case Status.STATUS_PREPARING:
+ case Status.STATUS_PREPARED:
+ case Status.STATUS_COMMITTING:
+ case Status.STATUS_COMMITTED:
+ case Status.STATUS_ROLLING_BACK:
+ case Status.STATUS_ROLLEDBACK:
+ return true;
+ }
+ return false;
+ }
+
+ private boolean isWorking() {
+ switch (status) {
+ case Status.STATUS_PREPARING:
+ case Status.STATUS_PREPARED:
+ case Status.STATUS_COMMITTING:
+ case Status.STATUS_ROLLING_BACK:
+ return true;
+ }
+ return false;
+ }
+
+ /* management */
+
+ public String getGtrid() {
+ return resourceManager.getGtrid().toString();
+ }
+
+ public String getStatusDescription() {
+ return Decoder.decodeStatus(status);
+ }
+
+ public Collection getEnlistedResourcesUniqueNames() {
+ return resourceManager.collectUniqueNames();
+ }
+
+ public String getThreadName() {
+ return threadName;
+ }
+
+ public Date getStartDate() {
+ return startDate;
+ }
+}
diff --git a/src/bitronix/tm/BitronixTransactionMBean.java b/src/bitronix/tm/BitronixTransactionMBean.java
new file mode 100644
index 0000000..9dfb614
--- /dev/null
+++ b/src/bitronix/tm/BitronixTransactionMBean.java
@@ -0,0 +1,39 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm;
+
+import java.util.Collection;
+import java.util.Date;
+
+/**
+ * {@link BitronixTransaction} Management interface.
+ *
+ * @author lorban
+ */
+public interface BitronixTransactionMBean {
+
+ String getGtrid();
+ String getStatusDescription();
+ String getThreadName();
+ Date getStartDate();
+ Collection getEnlistedResourcesUniqueNames();
+
+}
diff --git a/src/bitronix/tm/BitronixTransactionManager.java b/src/bitronix/tm/BitronixTransactionManager.java
new file mode 100644
index 0000000..8c8654a
--- /dev/null
+++ b/src/bitronix/tm/BitronixTransactionManager.java
@@ -0,0 +1,457 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm;
+
+import bitronix.tm.internal.*;
+import bitronix.tm.utils.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.slf4j.MDC;
+
+import javax.naming.*;
+import javax.transaction.*;
+import javax.transaction.xa.XAException;
+import java.io.IOException;
+import java.util.*;
+
+/**
+ * Implementation of {@link TransactionManager} and {@link UserTransaction}.
+ *
+ * @author lorban
+ */
+public class BitronixTransactionManager implements TransactionManager, UserTransaction, Referenceable, Service {
+
+ private final static Logger log = LoggerFactory.getLogger(BitronixTransactionManager.class);
+ private final static String MDC_GTRID_KEY = "btm-gtrid";
+
+ private final Map contexts = Collections.synchronizedMap(new HashMap());
+ private final Map inFlightTransactions = Collections.synchronizedMap(new HashMap());
+
+ private volatile boolean shuttingDown;
+
+ /**
+ * Create the {@link BitronixTransactionManager}. Open the journal, load resources and perform recovery
+ * synchronously. The recovery service then gets scheduled for background recovery.
+ */
+ public BitronixTransactionManager() {
+ try {
+ shuttingDown = false;
+ logVersion();
+ Configuration configuration = TransactionManagerServices.getConfiguration();
+ configuration.buildServerIdArray(); // first call will initialize the ServerId
+
+ if (log.isDebugEnabled()) log.debug("starting BitronixTransactionManager using " + configuration);
+ TransactionManagerServices.getJournal().open();
+ TransactionManagerServices.getResourceLoader().init();
+ TransactionManagerServices.getRecoverer().run();
+
+ int backgroundRecoveryInterval = TransactionManagerServices.getConfiguration().getBackgroundRecoveryIntervalSeconds();
+ if (backgroundRecoveryInterval < 1) {
+ throw new InitializationException("invalid configuration value for backgroundRecoveryIntervalSeconds, found '" + backgroundRecoveryInterval + "' but it must be greater than 0");
+ }
+
+ if (log.isDebugEnabled()) log.debug("recovery will run in the background every " + backgroundRecoveryInterval + " second(s)");
+ Date nextExecutionDate = new Date(System.currentTimeMillis() + (backgroundRecoveryInterval * 1000L));
+ TransactionManagerServices.getTaskScheduler().scheduleRecovery(TransactionManagerServices.getRecoverer(), nextExecutionDate);
+ } catch (IOException ex) {
+ throw new InitializationException("cannot open disk journal", ex);
+ } catch (Exception ex) {
+ TransactionManagerServices.getJournal().shutdown();
+ TransactionManagerServices.getResourceLoader().shutdown();
+ throw new InitializationException("initialization failed, cannot safely start the transaction manager", ex);
+ }
+ }
+
+ /**
+ * Start a new transaction and bind the context to the calling thread.
+ * @throws NotSupportedException if a transaction is already bound to the calling thread.
+ * @throws SystemException if the transaction manager is shutting down.
+ */
+ public void begin() throws NotSupportedException, SystemException {
+ if (log.isDebugEnabled()) log.debug("beginning a new transaction");
+ if (isShuttingDown())
+ throw new BitronixSystemException("cannot start a new transaction, transaction manager is shutting down");
+
+ dumpTransactionContexts();
+
+ BitronixTransaction currentTx = getCurrentTransaction();
+ if (currentTx != null)
+ throw new NotSupportedException("nested transactions not supported");
+ currentTx = createTransaction();
+
+ ClearContextSynchronization clearContextSynchronization = new ClearContextSynchronization(currentTx);
+ try {
+ currentTx.getSynchronizationScheduler().add(clearContextSynchronization, Scheduler.ALWAYS_LAST_POSITION -1);
+ currentTx.setActive(getOrCreateCurrentContext().getTimeout());
+ if (log.isDebugEnabled()) log.debug("begun new transaction at " + new Date(currentTx.getResourceManager().getGtrid().extractTimestamp()));
+ } catch (RuntimeException ex) {
+ clearContextSynchronization.afterCompletion(Status.STATUS_NO_TRANSACTION);
+ throw ex;
+ } catch (SystemException ex) {
+ clearContextSynchronization.afterCompletion(Status.STATUS_NO_TRANSACTION);
+ throw ex;
+ }
+ }
+
+ public void commit() throws RollbackException, HeuristicMixedException, HeuristicRollbackException, SecurityException, IllegalStateException, SystemException {
+ BitronixTransaction currentTx = getCurrentTransaction();
+ if (log.isDebugEnabled()) log.debug("committing transaction " + currentTx);
+ if (currentTx == null)
+ throw new IllegalStateException("no transaction started on this thread");
+
+ currentTx.commit();
+ }
+
+ public void rollback() throws IllegalStateException, SecurityException, SystemException {
+ BitronixTransaction currentTx = getCurrentTransaction();
+ if (log.isDebugEnabled()) log.debug("rolling back transaction " + currentTx);
+ if (currentTx == null)
+ throw new IllegalStateException("no transaction started on this thread");
+
+ currentTx.rollback();
+ }
+
+ public int getStatus() throws SystemException {
+ BitronixTransaction currentTx = getCurrentTransaction();
+ if (currentTx == null)
+ return Status.STATUS_NO_TRANSACTION;
+
+ return currentTx.getStatus();
+ }
+
+ public Transaction getTransaction() throws SystemException {
+ return getCurrentTransaction();
+ }
+
+ public void setRollbackOnly() throws IllegalStateException, SystemException {
+ BitronixTransaction currentTx = getCurrentTransaction();
+ if (log.isDebugEnabled()) log.debug("marking transaction as rollback only: " + currentTx);
+ if (currentTx == null)
+ throw new IllegalStateException("no transaction started on this thread");
+
+ currentTx.setRollbackOnly();
+ }
+
+ public void setTransactionTimeout(int seconds) throws SystemException {
+ if (seconds < 0)
+ throw new BitronixSystemException("cannot set a timeout to less than 0 second (was: " + seconds + "s)");
+ getOrCreateCurrentContext().setTimeout(seconds);
+ }
+
+ public Transaction suspend() throws SystemException {
+ BitronixTransaction currentTx = getCurrentTransaction();
+ if (log.isDebugEnabled()) log.debug("suspending transaction " + currentTx);
+ if (currentTx == null)
+ return null;
+
+ try {
+ currentTx.getResourceManager().suspend();
+ clearCurrentContextForSuspension();
+ return currentTx;
+ } catch (XAException ex) {
+ throw new BitronixSystemException("cannot suspend " + currentTx + ", error=" + Decoder.decodeXAExceptionErrorCode(ex), ex);
+ }
+ }
+
+ public void resume(Transaction transaction) throws InvalidTransactionException, IllegalStateException, SystemException {
+ if (log.isDebugEnabled()) log.debug("resuming " + transaction);
+ if (transaction == null)
+ throw new InvalidTransactionException("resumed transaction cannot be null");
+ if (!(transaction instanceof BitronixTransaction))
+ throw new InvalidTransactionException("resumed transaction must be an instance of BitronixTransaction");
+
+ BitronixTransaction tx = (BitronixTransaction) transaction;
+ BitronixTransaction currentTx = getCurrentTransaction();
+ if (currentTx != null)
+ throw new IllegalStateException("a transaction is already running on this thread");
+
+ try {
+ XAResourceManager resourceManager = tx.getResourceManager();
+ resourceManager.resume();
+ ThreadContext ctx = new ThreadContext();
+ ctx.setTransaction(tx);
+ setCurrentContext(ctx);
+ } catch (XAException ex) {
+ throw new BitronixSystemException("cannot resume " + tx + ", error=" + Decoder.decodeXAExceptionErrorCode(ex), ex);
+ }
+ }
+
+
+ /**
+ * BitronixTransactionManager can only have a single instance per JVM so this method always returns a reference
+ * with no special information to find back the sole instance. BitronixTransactionManagerObjectFactory will be used
+ * by the JNDI server to get the BitronixTransactionManager instance of the JVM.
+ *
+ * @return an empty reference to get the BitronixTransactionManager.
+ */
+ public Reference getReference() throws NamingException {
+ return new Reference(
+ BitronixTransactionManager.class.getName(),
+ new StringRefAddr("TransactionManager", "BitronixTransactionManager"),
+ BitronixTransactionManagerObjectFactory.class.getName(),
+ null
+ );
+ }
+
+ /**
+ * Return all in-flight transactions.
+ * @return a map of {@link BitronixTransaction} objects using {@link Uid} as key and {@link BitronixTransaction} as value.
+ */
+ public Map getInFlightTransactions() {
+ return inFlightTransactions;
+ }
+
+ /**
+ * Return the timestamp of the oldest in-flight transaction.
+ * @return the timestamp or Long.MIN_VALUE if there is no in-flight transaction.
+ */
+ public long getOldestInFlightTransactionTimestamp() {
+ synchronized (inFlightTransactions) {
+ if (inFlightTransactions.size() == 0) {
+ if (log.isDebugEnabled()) log.debug("oldest in-flight transaction's timestamp: " + Long.MIN_VALUE);
+ return Long.MIN_VALUE;
+ }
+
+ long oldestTimestamp = Long.MAX_VALUE;
+
+ Iterator it = inFlightTransactions.entrySet().iterator();
+ while (it.hasNext()) {
+ Map.Entry entry = (Map.Entry) it.next();
+ Uid gtrid = (Uid) entry.getKey();
+ long currentTimestamp = gtrid.extractTimestamp();
+
+ if (currentTimestamp < oldestTimestamp)
+ oldestTimestamp = currentTimestamp;
+ }
+
+ if (log.isDebugEnabled()) log.debug("oldest in-flight transaction's timestamp: " + oldestTimestamp);
+ return oldestTimestamp;
+ }
+ }
+
+ /**
+ * Get the transaction currently registered on the current thread context.
+ * @return the current transaction or null if no transaction has been started on the current thread.
+ */
+ public BitronixTransaction getCurrentTransaction() {
+ if (contexts.get(Thread.currentThread()) == null)
+ return null;
+ return getOrCreateCurrentContext().getTransaction();
+ }
+
+ /**
+ * Check if the transaction manager is in the process of shutting down.
+ * @return true if the transaction manager is in the process of shutting down.
+ */
+ private boolean isShuttingDown() {
+ return shuttingDown;
+ }
+
+ /**
+ * Dump an overview of all running transactions as debug logs.
+ */
+ public void dumpTransactionContexts() {
+ if (log.isDebugEnabled()) {
+ if (log.isDebugEnabled()) log.debug("dumping " + inFlightTransactions.size() + " transaction context(s)");
+ synchronized (inFlightTransactions) {
+ Iterator it = inFlightTransactions.entrySet().iterator();
+ while (it.hasNext()) {
+ Map.Entry entry = (Map.Entry) it.next();
+ BitronixTransaction tx = (BitronixTransaction) entry.getValue();
+ if (log.isDebugEnabled()) log.debug(tx.toString());
+ }
+ } // synchronized (inFlightTransactions)
+ } // if
+ }
+
+ /**
+ * Shut down the transaction manager and release all resources held by it.
+ * <p>This call will also close the resources pools registered by the {@link bitronix.tm.resource.ResourceLoader}
+ * like JMS and JDBC pools. The manually created ones are left untouched.</p>
+ * <p>The Transaction Manager will wait during a configurable graceful period before forcibly killing active
+ * transactions.</p>
+ * After this method is called, attempts to create new transactions (via calls to
+ * {@link javax.transaction.TransactionManager#begin()}) will be rejected with a {@link SystemException}.</p>
+ * @see Configuration#getGracefulShutdownInterval()
+ */
+ public synchronized void shutdown() {
+ if (isShuttingDown()) {
+ if (log.isDebugEnabled()) log.debug("Transaction Manager has already shut down");
+ return;
+ }
+
+ log.info("shutting down Bitronix Transaction Manager");
+ internalShutdown();
+
+ if (log.isDebugEnabled()) log.debug("shutting down resource loader");
+ TransactionManagerServices.getResourceLoader().shutdown();
+
+ if (log.isDebugEnabled()) log.debug("shutting down executor");
+ TransactionManagerServices.getExecutor().shutdown();
+
+ if (log.isDebugEnabled()) log.debug("shutting down task scheduler");
+ TransactionManagerServices.getTaskScheduler().shutdown();
+
+ if (log.isDebugEnabled()) log.debug("shutting down journal");
+ TransactionManagerServices.getJournal().shutdown();
+
+ if (log.isDebugEnabled()) log.debug("shutting down recoverer");
+ TransactionManagerServices.getRecoverer().shutdown();
+
+ if (log.isDebugEnabled()) log.debug("shutting down configuration");
+ TransactionManagerServices.getConfiguration().shutdown();
+
+ // clear references
+ TransactionManagerServices.clear();
+
+ if (log.isDebugEnabled()) log.debug("shutdown ran successfully");
+ }
+
+ private void internalShutdown() {
+ shuttingDown = true;
+ dumpTransactionContexts();
+
+ int seconds = TransactionManagerServices.getConfiguration().getGracefulShutdownInterval();
+ int txCount = 0;
+ try {
+ txCount = inFlightTransactions.size();
+ while (seconds > 0 && txCount > 0) {
+ if (log.isDebugEnabled()) log.debug("still " + txCount + " in-flight transactions, waiting... (" + seconds + " second(s) left)");
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException ex) {
+ // ignore
+ }
+ seconds--;
+ txCount = inFlightTransactions.size();
+ }
+ } catch (Exception ex) {
+ log.error("cannot get a list of in-flight transactions", ex);
+ }
+
+ if (txCount > 0) {
+ if (log.isDebugEnabled()) log.debug("still " + txCount + " in-flight transactions, shutting down anyway");
+ dumpTransactionContexts();
+ }
+ else {
+ if (log.isDebugEnabled()) log.debug("all transactions finished, resuming shutdown");
+ }
+ }
+
+ public String toString() {
+ return "a BitronixTransactionManager with " + inFlightTransactions.size() + " in-flight transaction(s)";
+ }
+
+ /*
+ * Internal impl
+ */
+
+ /**
+ * Output BTM version information as INFO log.
+ */
+ private void logVersion() {
+ log.info("Bitronix Transaction Manager version " + Version.getVersion());
+ if (log.isDebugEnabled()) log.debug("JVM version " + System.getProperty("java.version"));
+ }
+
+ /**
+ * Create a new transaction on the current thread's context.
+ * @return the created transaction.
+ */
+ private BitronixTransaction createTransaction() {
+ BitronixTransaction transaction = new BitronixTransaction();
+ getOrCreateCurrentContext().setTransaction(transaction);
+ inFlightTransactions.put(transaction.getResourceManager().getGtrid(), transaction);
+ MDC.put(MDC_GTRID_KEY, transaction.getGtrid());
+ return transaction;
+ }
+
+ /**
+ * Unlink the transaction from the current thread's context.
+ */
+ private void clearCurrentContextForSuspension() {
+ if (log.isDebugEnabled()) log.debug("clearing current thread context: " + getOrCreateCurrentContext());
+ contexts.remove(Thread.currentThread());
+ if (log.isDebugEnabled()) log.debug("cleared current thread context: " + getOrCreateCurrentContext());
+ MDC.remove(MDC_GTRID_KEY);
+ }
+
+ /**
+ * Bind a new context on the current thread.
+ * @param context the context to bind.
+ */
+ private void setCurrentContext(ThreadContext context) {
+ if (log.isDebugEnabled()) log.debug("changing current thread context to " + context);
+ if (context == null)
+ throw new IllegalArgumentException("setCurrentContext() should not be called with a null context, clearCurrentContextForSuspension() should be used instead");
+ contexts.put(Thread.currentThread(), context);
+ if (context.getTransaction() != null) {
+ MDC.put(MDC_GTRID_KEY, context.getTransaction().getGtrid());
+ }
+ }
+
+ /**
+ * Get the context attached to the current thread. If there is no current context, a new one is created.
+ * @return the context.
+ */
+ private ThreadContext getOrCreateCurrentContext() {
+ ThreadContext threadContext = (ThreadContext) contexts.get(Thread.currentThread());
+ if (threadContext == null) {
+ if (log.isDebugEnabled()) log.debug("creating new thread context");
+ threadContext = new ThreadContext();
+ setCurrentContext(threadContext);
+ }
+ return threadContext;
+ }
+
+ private class ClearContextSynchronization implements Synchronization {
+ private BitronixTransaction currentTx;
+
+ public ClearContextSynchronization(BitronixTransaction currentTx) {
+ this.currentTx = currentTx;
+ }
+
+ public void beforeCompletion() {
+ }
+
+ public void afterCompletion(int status) {
+ synchronized (contexts) {
+ Iterator it = contexts.entrySet().iterator();
+ while (it.hasNext()) {
+ Map.Entry entry = (Map.Entry) it.next();
+ ThreadContext context = (ThreadContext) entry.getValue();
+ if (context.getTransaction() == currentTx) {
+ if (log.isDebugEnabled()) log.debug("clearing thread context: " + context);
+ it.remove();
+ break;
+ }
+ } // while
+ }
+ inFlightTransactions.remove(currentTx.getResourceManager().getGtrid());
+ MDC.remove(MDC_GTRID_KEY);
+ }
+
+ public String toString() {
+ return "a ClearContextSynchronization for " + currentTx;
+ }
+ }
+
+}
diff --git a/src/bitronix/tm/BitronixTransactionManagerObjectFactory.java b/src/bitronix/tm/BitronixTransactionManagerObjectFactory.java
new file mode 100644
index 0000000..8839cd3
--- /dev/null
+++ b/src/bitronix/tm/BitronixTransactionManagerObjectFactory.java
@@ -0,0 +1,52 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.naming.Name;
+import javax.naming.Context;
+import javax.naming.spi.ObjectFactory;
+import java.util.Hashtable;
+
+/**
+ * {@link BitronixTransactionManager} object factory for JNDI references.
+ *
+ * @author lorban
+ */
+public class BitronixTransactionManagerObjectFactory implements ObjectFactory {
+
+ private final static Logger log = LoggerFactory.getLogger(BitronixTransactionManagerObjectFactory.class);
+
+ /**
+ * Since there can be only one transaction manager per VM instance, this method always returns a reference
+ * to the unique BitronixTransactionManager object.
+ * @see BitronixTransactionManager
+ * @return the unique transaction manager instance.
+ */
+ public Object getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable environment) throws Exception {
+ if (log.isDebugEnabled()) log.debug("returning the unique transaction manager instance");
+ return TransactionManagerServices.getTransactionManager();
+ }
+
+
+}
diff --git a/src/bitronix/tm/BitronixTransactionSynchronizationRegistry.java b/src/bitronix/tm/BitronixTransactionSynchronizationRegistry.java
new file mode 100644
index 0000000..2750548
--- /dev/null
+++ b/src/bitronix/tm/BitronixTransactionSynchronizationRegistry.java
@@ -0,0 +1,183 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm;
+
+import bitronix.tm.internal.BitronixRuntimeException;
+import bitronix.tm.utils.Scheduler;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.naming.NamingException;
+import javax.naming.Reference;
+import javax.naming.Referenceable;
+import javax.naming.StringRefAddr;
+import javax.transaction.Status;
+import javax.transaction.Synchronization;
+import javax.transaction.SystemException;
+import javax.transaction.TransactionSynchronizationRegistry;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Implementation of JTA 1.1 {@link TransactionSynchronizationRegistry}.
+ *
+ * @author lorban
+ */
+public class BitronixTransactionSynchronizationRegistry implements TransactionSynchronizationRegistry, Referenceable {
+
+ private final static Logger log = LoggerFactory.getLogger(BitronixTransactionSynchronizationRegistry.class);
+
+ private static BitronixTransactionManager transactionManager;
+
+ private final static ThreadLocal resourcesTl = new ThreadLocal() {
+ protected Object initialValue() {
+ return new HashMap();
+ }
+ };
+
+
+ public BitronixTransactionSynchronizationRegistry() {
+ transactionManager = TransactionManagerServices.getTransactionManager();
+ }
+
+ public Object getResource(Object key) {
+ try {
+ if (key == null)
+ throw new NullPointerException("key cannot be null");
+ if (currentTransaction() == null || currentTransaction().getStatus() == Status.STATUS_NO_TRANSACTION)
+ throw new IllegalStateException("no transaction started on current thread");
+
+ return getResources().get(key);
+ } catch (SystemException ex) {
+ throw new BitronixRuntimeException("cannot get current transaction status", ex);
+ }
+ }
+
+ public boolean getRollbackOnly() {
+ try {
+ if (currentTransaction() == null || currentTransaction().getStatus() == Status.STATUS_NO_TRANSACTION)
+ throw new IllegalStateException("no transaction started on current thread");
+
+ return currentTransaction().getStatus() == Status.STATUS_MARKED_ROLLBACK;
+ } catch (SystemException e) {
+ throw new BitronixRuntimeException("cannot get current transaction status");
+ }
+ }
+
+ public Object getTransactionKey() {
+ try {
+ if (currentTransaction() == null || currentTransaction().getStatus() == Status.STATUS_NO_TRANSACTION)
+ return null;
+
+ return currentTransaction().getGtrid();
+ } catch (SystemException ex) {
+ throw new BitronixRuntimeException("cannot get current transaction status", ex);
+ }
+ }
+
+ public int getTransactionStatus() {
+ try {
+ if (currentTransaction() == null)
+ return Status.STATUS_NO_TRANSACTION;
+
+ return currentTransaction().getStatus();
+ } catch (SystemException ex) {
+ throw new BitronixRuntimeException("cannot get current transaction status", ex);
+ }
+ }
+
+ public void putResource(Object key, Object value) {
+ try {
+ if (key == null)
+ throw new NullPointerException("key cannot be null");
+ if (currentTransaction() == null || currentTransaction().getStatus() == Status.STATUS_NO_TRANSACTION)
+ throw new IllegalStateException("no transaction started on current thread");
+
+ Object oldValue = getResources().put(key, value);
+
+ if (oldValue == null && getResources().size() == 1) {
+ if (log.isDebugEnabled()) log.debug("first resource put in synchronization registry, registering a ClearRegistryResourcesSynchronization");
+ Synchronization synchronization = new ClearRegistryResourcesSynchronization();
+ currentTransaction().getSynchronizationScheduler().add(synchronization, Scheduler.ALWAYS_LAST_POSITION);
+ }
+ } catch (SystemException ex) {
+ throw new BitronixRuntimeException("cannot get current transaction status", ex);
+ }
+ }
+
+ public void registerInterposedSynchronization(Synchronization synchronization) {
+ try {
+ if (currentTransaction() == null || currentTransaction().getStatus() == Status.STATUS_NO_TRANSACTION)
+ throw new IllegalStateException("no transaction started on current thread");
+ if ( currentTransaction().getStatus() == Status.STATUS_PREPARING ||
+ currentTransaction().getStatus() == Status.STATUS_PREPARED ||
+ currentTransaction().getStatus() == Status.STATUS_COMMITTING ||
+ currentTransaction().getStatus() == Status.STATUS_COMMITTED ||
+ currentTransaction().getStatus() == Status.STATUS_ROLLING_BACK ||
+ currentTransaction().getStatus() == Status.STATUS_ROLLEDBACK
+ )
+ throw new IllegalStateException("transaction is done, cannot register an interposed synchronization");
+
+ currentTransaction().getSynchronizationScheduler().add(synchronization, Scheduler.DEFAULT_POSITION -1);
+ } catch (SystemException ex) {
+ throw new BitronixRuntimeException("cannot get current transaction status", ex);
+ }
+ }
+
+ public void setRollbackOnly() {
+ try {
+ if (currentTransaction() == null || currentTransaction().getStatus() == Status.STATUS_NO_TRANSACTION)
+ throw new IllegalStateException("no transaction started on current thread");
+
+ currentTransaction().setStatus(Status.STATUS_MARKED_ROLLBACK);
+ } catch (SystemException ex) {
+ throw new BitronixRuntimeException("cannot get or set current transaction status", ex);
+ }
+ }
+
+ private Map getResources() {
+ return ((Map) resourcesTl.get());
+ }
+
+ private BitronixTransaction currentTransaction() {
+ return transactionManager.getCurrentTransaction();
+ }
+
+ public Reference getReference() throws NamingException {
+ return new Reference(
+ BitronixTransactionManager.class.getName(),
+ new StringRefAddr("TransactionSynchronizationRegistry", "BitronixTransactionSynchronizationRegistry"),
+ BitronixTransactionSynchronizationRegistryObjectFactory.class.getName(),
+ null
+ );
+ }
+
+ private class ClearRegistryResourcesSynchronization implements Synchronization {
+ public void beforeCompletion() {
+ }
+
+ public void afterCompletion(int status) {
+ if (log.isDebugEnabled()) log.debug("clearing resources");
+ getResources().clear();
+ }
+ }
+
+}
diff --git a/src/bitronix/tm/BitronixTransactionSynchronizationRegistryObjectFactory.java b/src/bitronix/tm/BitronixTransactionSynchronizationRegistryObjectFactory.java
new file mode 100644
index 0000000..33efa1f
--- /dev/null
+++ b/src/bitronix/tm/BitronixTransactionSynchronizationRegistryObjectFactory.java
@@ -0,0 +1,52 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.naming.Context;
+import javax.naming.Name;
+import javax.naming.spi.ObjectFactory;
+import java.util.Hashtable;
+
+/**
+ * {@link bitronix.tm.BitronixTransactionSynchronizationRegistry} object factory for JNDI references.
+ *
+ * @author lorban
+ */
+public class BitronixTransactionSynchronizationRegistryObjectFactory implements ObjectFactory {
+
+ private final static Logger log = LoggerFactory.getLogger(BitronixTransactionSynchronizationRegistryObjectFactory.class);
+
+ /**
+ * Since there can be only one synchronization registry per VM instance, this method always returns a reference
+ * to the unique BitronixTransactionSynchronizationRegistry object.
+ * @see bitronix.tm.BitronixTransactionSynchronizationRegistry
+ * @return the unique synchronization registry instance.
+ */
+ public Object getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable environment) throws Exception {
+ if (log.isDebugEnabled()) log.debug("returning the unique synchronization registry instance");
+ return TransactionManagerServices.getTransactionSynchronizationRegistry();
+ }
+
+
+}
diff --git a/src/bitronix/tm/BitronixUserTransactionObjectFactory.java b/src/bitronix/tm/BitronixUserTransactionObjectFactory.java
new file mode 100644
index 0000000..ad2f289
--- /dev/null
+++ b/src/bitronix/tm/BitronixUserTransactionObjectFactory.java
@@ -0,0 +1,30 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm;
+
+/**
+ * {@link BitronixTransactionManager} object factory for JNDI references. This class does no more than
+ * {@link BitronixTransactionManagerObjectFactory}, it only exists for clarity.
+ *
+ * @author lorban
+ */
+public class BitronixUserTransactionObjectFactory extends BitronixTransactionManagerObjectFactory {
+}
diff --git a/src/bitronix/tm/BitronixXid.java b/src/bitronix/tm/BitronixXid.java
new file mode 100644
index 0000000..92d3314
--- /dev/null
+++ b/src/bitronix/tm/BitronixXid.java
@@ -0,0 +1,143 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm;
+
+import bitronix.tm.utils.Uid;
+
+import javax.transaction.xa.Xid;
+
+/**
+ * Implementation of {@link javax.transaction.xa.Xid}.
+ * <p>A XID is divided in two parts: globalTransactionId (GTRID) and branchQualifier (BQUAL). The first one uniquely
+ * identifies the global transaction while the latter uniquely identifies the transaction branch, or the local part of
+ * the global transaction inside a resource.</p>
+ * <p>Technically in the Bitronix implementation, GTRID and BQUAL have the same format as described by Mike Spille.
+ * Each {@link bitronix.tm.BitronixTransaction} get assigned a GTRID at creation time and full XIDs are created and
+ * assigned to every {@link bitronix.tm.internal.XAResourceHolderState} when enlisted in the transaction's
+ * {@link bitronix.tm.internal.XAResourceManager}. Both GTRID and XIDs are generated
+ * by the {@link bitronix.tm.utils.UidGenerator}.</p>
+ *
+ * @author lorban
+ * @see bitronix.tm.utils.UidGenerator
+ * @see bitronix.tm.BitronixTransaction
+ * @see bitronix.tm.internal.XAResourceManager
+ * @see <a href="http://jroller.com/page/pyrasun?entry=xa_exposed_part_iii_the">XA Exposed, Part III: The Implementor's Notebook</a>
+ */
+public class BitronixXid implements Xid {
+
+ /**
+ * int-encoded "Btnx" string. This is used as the globally unique ID to discriminate BTM XIDs.
+ */
+ public static final int FORMAT_ID = 0x42746e78;
+
+ private Uid globalTransactionId;
+ private Uid branchQualifier;
+
+ /**
+ * Create a new XID using the specified GTRID and BQUAL.
+ * @param globalTransactionId the GTRID.
+ * @param branchQualifier the BQUAL.
+ */
+ public BitronixXid(Uid globalTransactionId, Uid branchQualifier) {
+ this.globalTransactionId = globalTransactionId;
+ this.branchQualifier = branchQualifier;
+ }
+
+ public BitronixXid(Xid xid) {
+ this.globalTransactionId = new Uid(xid.getGlobalTransactionId());
+ this.branchQualifier = new Uid(xid.getBranchQualifier());
+ }
+
+ /**
+ * Get Bitronix XID format ID. Defined by {@link BitronixXid#FORMAT_ID}.
+ * @return the Bitronix XID format ID.
+ */
+ public int getFormatId() {
+ return FORMAT_ID;
+ }
+
+ /**
+ * Get the BQUAL of the XID.
+ * @return the XID branch qualifier.
+ */
+ public byte[] getBranchQualifier() {
+ return branchQualifier.getArray();
+ }
+
+ public Uid getBranchQualifierUid() {
+ return branchQualifier;
+ }
+
+ /**
+ * Get the GTRID of the XID.
+ * @return the XID global transaction ID.
+ */
+ public byte[] getGlobalTransactionId() {
+ return globalTransactionId.getArray();
+ }
+
+ public Uid getGlobalTransactionIdUid() {
+ return globalTransactionId;
+ }
+
+ /**
+ * Get a human-readable string representation of the XID.
+ * @return a human-readable string representation.
+ */
+ public String toString() {
+ StringBuffer sb = new StringBuffer(288);
+ sb.append("a Bitronix XID [");
+ sb.append(globalTransactionId.toString());
+ sb.append(" : ");
+ sb.append(branchQualifier.toString());
+ sb.append("]");
+ return sb.toString();
+ }
+
+ /**
+ * Compare two XIDs for equality.
+ * @param obj the XID to compare to.
+ * @return true if both XIDs have the same format ID and contain exactly the same GTRID and BQUAL.
+ */
+ public boolean equals(Object obj) {
+ if (!(obj instanceof BitronixXid))
+ return false;
+
+ BitronixXid otherXid = (BitronixXid) obj;
+ return FORMAT_ID == otherXid.getFormatId() &&
+ globalTransactionId.equals(otherXid.getGlobalTransactionIdUid()) &&
+ branchQualifier.equals(otherXid.getBranchQualifierUid());
+ }
+
+ /**
+ * Get an integer hash for the XID.
+ * @return a constant hash value.
+ */
+ public int hashCode() {
+ int hashCode = FORMAT_ID;
+ if (globalTransactionId != null)
+ hashCode += globalTransactionId.hashCode();
+ if (branchQualifier != null)
+ hashCode += branchQualifier.hashCode();
+ return hashCode;
+ }
+
+}
diff --git a/src/bitronix/tm/Configuration.java b/src/bitronix/tm/Configuration.java
new file mode 100644
index 0000000..77f1025
--- /dev/null
+++ b/src/bitronix/tm/Configuration.java
@@ -0,0 +1,690 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm;
+
+import bitronix.tm.utils.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.InetAddress;
+import java.util.Properties;
+
+/**
+ * Configuration repository of the transaction manager. You can set configurable values either via the properties file
+ * or by setting properties of the {@link Configuration} object.
+ * Once the transaction manager has started it is not possible to change the configuration: all calls to setters will
+ * throw a {@link IllegalStateException}.
+ * <p>The configuration filename must be specified with the <code>bitronix.tm.configuration</code> system property.</p>
+ * <p>The default settings are good enough for running in a test environment but certainly not for production usage.
+ * Also, all properties are reset to their default value after the transaction manager has shut down.</p>
+ * <p>All those properties can refer to other defined ones or to system properties using the Ant notation:
+ * <code>${some.property.name}</code>.</p>
+ *
+ * @author lorban
+ */
+public class Configuration implements Service {
+
+ private final static Logger log = LoggerFactory.getLogger(Configuration.class);
+
+ private final static int MAX_SERVER_ID_LENGTH = 51;
+
+ private String serverId;
+ private byte[] serverIdArray;
+ private String logPart1Filename;
+ private String logPart2Filename;
+ private boolean forcedWriteEnabled;
+ private boolean forceBatchingEnabled;
+ private int maxLogSizeInMb;
+ private boolean filterLogStatus;
+ private boolean skipCorruptedLogs;
+ private boolean asynchronous2Pc;
+ private boolean warnAboutZeroResourceTransaction;
+ private int defaultTransactionTimeout;
+ private int gracefulShutdownInterval;
+ private int backgroundRecoveryIntervalSeconds;
+ private boolean disableJmx;
+ private String jndiUserTransactionName;
+ private String jndiTransactionSynchronizationRegistryName;
+ private String journal;
+ private boolean currentNodeOnlyRecovery;
+ private boolean allowMultipleLrc;
+ private String resourceConfigurationFilename;
+
+
+ protected Configuration() {
+ try {
+ InputStream in = null;
+ Properties properties;
+ try {
+ String configurationFilename = System.getProperty("bitronix.tm.configuration");
+ if (configurationFilename != null) {
+ if (log.isDebugEnabled()) log.debug("loading configuration file " + configurationFilename);
+ in = new FileInputStream(configurationFilename);
+ } else {
+ if (log.isDebugEnabled()) log.debug("loading default configuration");
+ in = ClassLoaderUtils.getResourceAsStream("bitronix-default-config.properties");
+ }
+ properties = new Properties();
+ if (in != null)
+ properties.load(in);
+ else
+ if (log.isDebugEnabled()) log.debug("no configuration file found, using default settings");
+ } finally {
+ if (in != null) in.close();
+ }
+
+ serverId = getString(properties, "bitronix.tm.serverId", null);
+ logPart1Filename = getString(properties, "bitronix.tm.journal.disk.logPart1Filename", "btm1.tlog");
+ logPart2Filename = getString(properties, "bitronix.tm.journal.disk.logPart2Filename", "btm2.tlog");
+ forcedWriteEnabled = getBoolean(properties, "bitronix.tm.journal.disk.forcedWriteEnabled", true);
+ forceBatchingEnabled = getBoolean(properties, "bitronix.tm.journal.disk.forceBatchingEnabled", true);
+ maxLogSizeInMb = getInt(properties, "bitronix.tm.journal.disk.maxLogSize", 2);
+ filterLogStatus = getBoolean(properties, "bitronix.tm.journal.disk.filterLogStatus", false);
+ skipCorruptedLogs = getBoolean(properties, "bitronix.tm.journal.disk.skipCorruptedLogs", false);
+ asynchronous2Pc = getBoolean(properties, "bitronix.tm.2pc.async", false);
+ warnAboutZeroResourceTransaction = getBoolean(properties, "bitronix.tm.2pc.warnAboutZeroResourceTransactions", true);
+ defaultTransactionTimeout = getInt(properties, "bitronix.tm.timer.defaultTransactionTimeout", 60);
+ gracefulShutdownInterval = getInt(properties, "bitronix.tm.timer.gracefulShutdownInterval", 60);
+ backgroundRecoveryIntervalSeconds = getInt(properties, "bitronix.tm.timer.backgroundRecoveryIntervalSeconds", 60);
+ disableJmx = getBoolean(properties, "bitronix.tm.disableJmx", false);
+ jndiUserTransactionName = getString(properties, "bitronix.tm.jndi.userTransactionName", "java:comp/UserTransaction");
+ jndiTransactionSynchronizationRegistryName = getString(properties, "bitronix.tm.jndi.transactionSynchronizationRegistryName", "java:comp/TransactionSynchronizationRegistry");
+ journal = getString(properties, "bitronix.tm.journal", "disk");
+ currentNodeOnlyRecovery = getBoolean(properties, "bitronix.tm.currentNodeOnlyRecovery", true);
+ allowMultipleLrc = getBoolean(properties, "bitronix.tm.allowMultipleLrc", false);
+ resourceConfigurationFilename = getString(properties, "bitronix.tm.resource.configuration", null);
+ } catch (IOException ex) {
+ throw new InitializationException("error loading configuration", ex);
+ }
+ }
+
+
+ /**
+ * ASCII ID that must uniquely identify this TM instance. It must not exceed 51 characters or it will be truncated.
+ * <p>Property name:<br/><b>bitronix.tm.serverId -</b> <i>(defaults to server's IP address but that's unsafe for
+ * production use)</i></p>
+ * @return the unique ID of this TM instance.
+ */
+ public String getServerId() {
+ return serverId;
+ }
+
+ /**
+ * Set the ASCII ID that must uniquely identify this TM instance. It must not exceed 51 characters or it will be
+ * truncated.
+ * @see #getServerId()
+ * @param serverId the unique ID of this TM instance.
+ * @return this.
+ */
+ public Configuration setServerId(String serverId) {
+ checkNotStarted();
+ this.serverId = serverId;
+ return this;
+ }
+
+ /**
+ * Get the journal fragment file 1 name.
+ * <p>Property name:<br/><b>bitronix.tm.journal.disk.logPart1Filename -</b> <i>(defaults to btm1.tlog)</i></p>
+ * @return the journal fragment file 1 name.
+ */
+ public String getLogPart1Filename() {
+ return logPart1Filename;
+ }
+
+ /**
+ * Set the journal fragment file 1 name.
+ * @see #getLogPart1Filename()
+ * @param logPart1Filename the journal fragment file 1 name.
+ * @return this.
+ */
+ public Configuration setLogPart1Filename(String logPart1Filename) {
+ checkNotStarted();
+ this.logPart1Filename = logPart1Filename;
+ return this;
+ }
+
+ /**
+ * Get the journal fragment file 2 name.
+ * <p>Property name:<br/><b>bitronix.tm.journal.disk.logPart2Filename -</b> <i>(defaults to btm2.tlog)</i></p>
+ * @return the journal fragment file 2 name.
+ */
+ public String getLogPart2Filename() {
+ return logPart2Filename;
+ }
+
+ /**
+ * Set the journal fragment file 2 name.
+ * @see #getLogPart2Filename()
+ * @param logPart2Filename the journal fragment file 2 name.
+ * @return this.
+ */
+ public Configuration setLogPart2Filename(String logPart2Filename) {
+ checkNotStarted();
+ this.logPart2Filename = logPart2Filename;
+ return this;
+ }
+
+ /**
+ * Are logs forced to disk? Do not set to false in production since without disk force, integrity is not
+ * guaranteed.
+ * <p>Property name:<br/><b>bitronix.tm.journal.disk.forcedWriteEnabled -</b> <i>(defaults to true)</i></p>
+ * @return true if logs are forced to disk, false otherwise.
+ */
+ public boolean isForcedWriteEnabled() {
+ return forcedWriteEnabled;
+ }
+
+ /**
+ * Set if logs are forced to disk. Do not set to false in production since without disk force, integrity is not
+ * guaranteed.
+ * @see #isForcedWriteEnabled()
+ * @param forcedWriteEnabled true if logs should be forced to disk, false otherwise.
+ * @return this.
+ */
+ public Configuration setForcedWriteEnabled(boolean forcedWriteEnabled) {
+ checkNotStarted();
+ this.forcedWriteEnabled = forcedWriteEnabled;
+ return this;
+ }
+
+ /**
+ * Are disk forces batched? Disabling batching can seriously lower the transaction manager's throughput.
+ * <p>Property name:<br/><b>bitronix.tm.journal.disk.forceBatchingEnabled -</b> <i>(defaults to true)</i></p>
+ * @return true if disk forces are batched, false otherwise.
+ */
+ public boolean isForceBatchingEnabled() {
+ return forceBatchingEnabled;
+ }
+
+ /**
+ * Set if disk forces are batched. Disabling batching can seriously lower the transaction manager's throughput.
+ * @see #isForceBatchingEnabled()
+ * @param forceBatchingEnabled true if disk forces are batched, false otherwise.
+ * @return this.
+ */
+ public Configuration setForceBatchingEnabled(boolean forceBatchingEnabled) {
+ checkNotStarted();
+ this.forceBatchingEnabled = forceBatchingEnabled;
+ return this;
+ }
+
+ /**
+ * Maximum size in megabytes of the journal fragments. Larger logs allow transactions to stay longer in-doubt but
+ * the TM pauses longer when a fragment is full.
+ * <p>Property name:<br/><b>bitronix.tm.journal.disk.maxLogSize -</b> <i>(defaults to 2)</i></p>
+ * @return the maximum size in megabytes of the journal fragments.
+ */
+ public int getMaxLogSizeInMb() {
+ return maxLogSizeInMb;
+ }
+
+ /**
+ * Set the Maximum size in megabytes of the journal fragments. Larger logs allow transactions to stay longer
+ * in-doubt but the TM pauses longer when a fragment is full.
+ * @see #getMaxLogSizeInMb()
+ * @param maxLogSizeInMb the maximum size in megabytes of the journal fragments.
+ * @return this.
+ */
+ public Configuration setMaxLogSizeInMb(int maxLogSizeInMb) {
+ checkNotStarted();
+ this.maxLogSizeInMb = maxLogSizeInMb;
+ return this;
+ }
+
+ /**
+ * Should only mandatory logs be written? Enabling this parameter lowers space usage of the fragments but makes
+ * debugging more complex.
+ * <p>Property name:<br/><b>bitronix.tm.journal.disk.filterLogStatus -</b> <i>(defaults to false)</i></p>
+ * @return true if only mandatory logs should be written.
+ */
+ public boolean isFilterLogStatus() {
+ return filterLogStatus;
+ }
+
+ /**
+ * Set if only mandatory logs should be written. Enabling this parameter lowers space usage of the fragments but
+ * makes debugging more complex.
+ * @see #isFilterLogStatus()
+ * @param filterLogStatus true if only mandatory logs should be written.
+ * @return this.
+ */
+ public Configuration setFilterLogStatus(boolean filterLogStatus) {
+ checkNotStarted();
+ this.filterLogStatus = filterLogStatus;
+ return this;
+ }
+
+ /**
+ * Should corrupted logs be skipped?
+ * <p>Property name:<br/><b>bitronix.tm.journal.disk.skipCorruptedLogs -</b> <i>(defaults to false)</i></p>
+ * @return true if corrupted logs should be skipped.
+ */
+ public boolean isSkipCorruptedLogs() {
+ return skipCorruptedLogs;
+ }
+
+ /**
+ * Set if corrupted logs should be skipped.
+ * @see #isSkipCorruptedLogs()
+ * @param skipCorruptedLogs true if corrupted logs should be skipped.
+ * @return this.
+ */
+ public Configuration setSkipCorruptedLogs(boolean skipCorruptedLogs) {
+ checkNotStarted();
+ this.skipCorruptedLogs = skipCorruptedLogs;
+ return this;
+ }
+
+ /**
+ * Should two phase commit be executed asynchronously? Asynchronous two phase commit can improve performance when
+ * there are many resources enlisted in transactions but is more CPU intensive due to the dynamic thread spawning
+ * requirements. It also makes debugging more complex.
+ * <p>Property name:<br/><b>bitronix.tm.2pc.async -</b> <i>(defaults to false)</i></p>
+ * @return true if two phase commit should be executed asynchronously.
+ */
+ public boolean isAsynchronous2Pc() {
+ return asynchronous2Pc;
+ }
+
+ /**
+ * Set if two phase commit should be executed asynchronously. Asynchronous two phase commit can improve performance
+ * when there are many resources enlisted in transactions but is more CPU intensive due to the dynamic thread
+ * spawning requirements. It also makes debugging more complex.
+ * @see #isAsynchronous2Pc()
+ * @param asynchronous2Pc true if two phase commit should be executed asynchronously.
+ * @return this.
+ */
+ public Configuration setAsynchronous2Pc(boolean asynchronous2Pc) {
+ checkNotStarted();
+ this.asynchronous2Pc = asynchronous2Pc;
+ return this;
+ }
+
+ /**
+ * Should transactions executed without a single enlisted resource result in a warning or not? Most of the time
+ * transactions executed with no enlisted resource reflect a bug or a mis-configuration somewhere.
+ * <p>Property name:<br/><b>bitronix.tm.2pc.warnAboutZeroResourceTransactions -</b> <i>(defaults to true)</i></p>
+ * @return true if transactions executed without a single enlisted resource should result in a warning.
+ */
+ public boolean isWarnAboutZeroResourceTransaction() {
+ return warnAboutZeroResourceTransaction;
+ }
+
+ /**
+ * Set if transactions executed without a single enlisted resource should result in a warning or not. Most of the
+ * time transactions executed with no enlisted resource reflect a bug or a mis-configuration somewhere.
+ * @see #isWarnAboutZeroResourceTransaction()
+ * @param warnAboutZeroResourceTransaction true if transactions executed without a single enlisted resource should
+ * result in a warning.
+ * @return this.
+ */
+ public Configuration setWarnAboutZeroResourceTransaction(boolean warnAboutZeroResourceTransaction) {
+ checkNotStarted();
+ this.warnAboutZeroResourceTransaction = warnAboutZeroResourceTransaction;
+ return this;
+ }
+
+ /**
+ * Default transaction timeout in seconds.
+ * <p>Property name:<br/><b>bitronix.tm.timer.defaultTransactionTimeout -</b> <i>(defaults to 60)</i></p>
+ * @return the default transaction timeout in seconds.
+ */
+ public int getDefaultTransactionTimeout() {
+ return defaultTransactionTimeout;
+ }
+
+ /**
+ * Set the default transaction timeout in seconds.
+ * @see #getDefaultTransactionTimeout()
+ * @param defaultTransactionTimeout the default transaction timeout in seconds.
+ * @return this.
+ */
+ public Configuration setDefaultTransactionTimeout(int defaultTransactionTimeout) {
+ checkNotStarted();
+ this.defaultTransactionTimeout = defaultTransactionTimeout;
+ return this;
+ }
+
+ /**
+ * Maximum amount of seconds the TM will wait for transactions to get done before aborting them at shutdown time.
+ * <p>Property name:<br/><b>bitronix.tm.timer.gracefulShutdownInterval -</b> <i>(defaults to 60)</i></p>
+ * @return the maximum amount of time in seconds.
+ */
+ public int getGracefulShutdownInterval() {
+ return gracefulShutdownInterval;
+ }
+
+ /**
+ * Set the maximum amount of seconds the TM will wait for transactions to get done before aborting them at shutdown
+ * time.
+ * @see #getGracefulShutdownInterval()
+ * @param gracefulShutdownInterval the maximum amount of time in seconds.
+ * @return this.
+ */
+ public Configuration setGracefulShutdownInterval(int gracefulShutdownInterval) {
+ checkNotStarted();
+ this.gracefulShutdownInterval = gracefulShutdownInterval;
+ return this;
+ }
+
+ /**
+ * Interval in minutes at which to run the recovery process in the background. Disabled when set to 0.
+ * <p>Property name:<br/><b>bitronix.tm.timer.backgroundRecoveryInterval -</b> <i>(defaults to 0)</i></p>
+ * @return the interval in minutes.
+ * @deprecated superceded by #getBackgroundRecoveryIntervalSeconds().
+ */
+ public int getBackgroundRecoveryInterval() {
+ return getBackgroundRecoveryIntervalSeconds() / 60;
+ }
+
+ /**
+ * Set the interval in minutes at which to run the recovery process in the background. Disabled when set to 0.
+ * @see #getBackgroundRecoveryInterval()
+ * @param backgroundRecoveryInterval the interval in minutes.
+ * @deprecated superceded by #setBackgroundRecoveryIntervalSeconds(int).
+ * @return this.
+ */
+ public Configuration setBackgroundRecoveryInterval(int backgroundRecoveryInterval) {
+ log.warn("setBackgroundRecoveryInterval() is deprecated, consider using setBackgroundRecoveryIntervalSeconds() instead.");
+ setBackgroundRecoveryIntervalSeconds(backgroundRecoveryInterval * 60);
+ return this;
+ }
+
+ /**
+ * Interval in seconds at which to run the recovery process in the background. Disabled when set to 0.
+ * <p>Property name:<br/><b>bitronix.tm.timer.backgroundRecoveryIntervalSeconds -</b> <i>(defaults to 60)</i></p>
+ * @return the interval in seconds.
+ */
+ public int getBackgroundRecoveryIntervalSeconds() {
+ return backgroundRecoveryIntervalSeconds;
+ }
+
+ /**
+ * Set the interval in seconds at which to run the recovery process in the background. Disabled when set to 0.
+ * @see #getBackgroundRecoveryIntervalSeconds()
+ * @param backgroundRecoveryIntervalSeconds the interval in minutes.
+ * @return this.
+ */
+ public Configuration setBackgroundRecoveryIntervalSeconds(int backgroundRecoveryIntervalSeconds) {
+ checkNotStarted();
+ this.backgroundRecoveryIntervalSeconds = backgroundRecoveryIntervalSeconds;
+ return this;
+ }
+
+ /**
+ * Should JMX Mbeans not be registered even if a JMX MBean server is detected?
+ * <p>Property name:<br/><b>bitronix.tm.disableJmx -</b> <i>(defaults to false)</i></p>
+ * @return true if JMX MBeans should never be registered.
+ */
+ public boolean isDisableJmx() {
+ return disableJmx;
+ }
+
+ /**
+ * Set to true if JMX Mbeans should not be registered even if a JMX MBean server is detected.
+ * @see #isDisableJmx()
+ * @param disableJmx true if JMX MBeans should never be registered.
+ * @return this.
+ */
+ public Configuration setDisableJmx(boolean disableJmx) {
+ checkNotStarted();
+ this.disableJmx = disableJmx;
+ return this;
+ }
+
+ /**
+ * Get the name the {@link javax.transaction.UserTransaction} should be bound under in the
+ * {@link bitronix.tm.jndi.BitronixContext}.
+ * @return the name the {@link javax.transaction.UserTransaction} should
+ * be bound under in the {@link bitronix.tm.jndi.BitronixContext}.
+ */
+ public String getJndiUserTransactionName() {
+ return jndiUserTransactionName;
+ }
+
+ /**
+ * Set the name the {@link javax.transaction.UserTransaction} should be bound under in the
+ * {@link bitronix.tm.jndi.BitronixContext}.
+ * @see #getJndiUserTransactionName()
+ * @param jndiUserTransactionName the name the {@link javax.transaction.UserTransaction} should
+ * be bound under in the {@link bitronix.tm.jndi.BitronixContext}.
+ * @return this.
+ */
+ public Configuration setJndiUserTransactionName(String jndiUserTransactionName) {
+ checkNotStarted();
+ this.jndiUserTransactionName = jndiUserTransactionName;
+ return this;
+ }
+
+ /**
+ * Get the name the {@link javax.transaction.TransactionSynchronizationRegistry} should be bound under in the
+ * {@link bitronix.tm.jndi.BitronixContext}.
+ * @return the name the {@link javax.transaction.TransactionSynchronizationRegistry} should
+ * be bound under in the {@link bitronix.tm.jndi.BitronixContext}.
+ */
+ public String getJndiTransactionSynchronizationRegistryName() {
+ return jndiTransactionSynchronizationRegistryName;
+ }
+
+ /**
+ * Set the name the {@link javax.transaction.TransactionSynchronizationRegistry} should be bound under in the
+ * {@link bitronix.tm.jndi.BitronixContext}.
+ * @see #getJndiUserTransactionName()
+ * @param jndiTransactionSynchronizationRegistryName the name the {@link javax.transaction.TransactionSynchronizationRegistry} should
+ * be bound under in the {@link bitronix.tm.jndi.BitronixContext}.
+ * @return this.
+ */
+ public Configuration setJndiTransactionSynchronizationRegistryName(String jndiTransactionSynchronizationRegistryName) {
+ checkNotStarted();
+ this.jndiTransactionSynchronizationRegistryName = jndiTransactionSynchronizationRegistryName;
+ return this;
+ }
+
+ /**
+ * Get the journal implementation. Can be <code>disk</code>, <code>null</code> or a class name.
+ * @return the journal name.
+ */
+ public String getJournal() {
+ return journal;
+ }
+
+ /**
+ * Set the journal name. Can be <code>disk</code>, <code>null</code> or a class name.
+ * @see #getJournal()
+ * @param journal the journal name.
+ * @return this.
+ */
+ public Configuration setJournal(String journal) {
+ checkNotStarted();
+ this.journal = journal;
+ return this;
+ }
+
+ /**
+ * Should the recovery process <b>not</b> recover XIDs generated with another JVM unique ID? Setting this property to true
+ * is useful in clustered environments where multiple instances of BTM are running on different nodes.
+ * @see #getServerId() contains the value used as the JVM unique ID.
+ * @return true if recovery should filter out recovered XIDs that do not contain this JVM's unique ID, false otherwise.
+ */
+ public boolean isCurrentNodeOnlyRecovery() {
+ return currentNodeOnlyRecovery;
+ }
+
+ /**
+ * Set to true if recovery should filter out recovered XIDs that do not contain this JVM's unique ID, false otherwise.
+ * @see #isCurrentNodeOnlyRecovery()
+ * @param currentNodeOnlyRecovery true if recovery should filter out recovered XIDs that do not contain this JVM's unique ID, false otherwise.
+ * @return this.
+ */
+ public Configuration setCurrentNodeOnlyRecovery(boolean currentNodeOnlyRecovery) {
+ checkNotStarted();
+ this.currentNodeOnlyRecovery = currentNodeOnlyRecovery;
+ return this;
+ }
+
+ /**
+ * Should the transaction manager allow enlistment of multiple LRC resources in a single transaction?
+ * This is highly unsafe but could be useful for testing.
+ * @return true if the transaction manager should allow enlistment of multiple LRC resources in a single transaction, false otherwise.
+ */
+ public boolean isAllowMultipleLrc() {
+ return allowMultipleLrc;
+ }
+
+ /**
+ * Set to true if the transaction manager should allow enlistment of multiple LRC resources in a single transaction.
+ * @param allowMultipleLrc true if the transaction manager should allow enlistment of multiple LRC resources in a single transaction, false otherwise.
+ * @return this
+ */
+ public Configuration setAllowMultipleLrc(boolean allowMultipleLrc) {
+ checkNotStarted();
+ this.allowMultipleLrc = allowMultipleLrc;
+ return this;
+ }
+
+ /**
+ * {@link bitronix.tm.resource.ResourceLoader} configuration file name. {@link bitronix.tm.resource.ResourceLoader}
+ * will be disabled if this value is null.
+ * <p>Property name:<br/><b>bitronix.tm.resource.configuration -</b> <i>(defaults to null)</i></p>
+ * @return the filename of the resources configuration file or null if not configured.
+ */
+ public String getResourceConfigurationFilename() {
+ return resourceConfigurationFilename;
+ }
+
+ /**
+ * Set the {@link bitronix.tm.resource.ResourceLoader} configuration file name.
+ * @see #getResourceConfigurationFilename()
+ * @param resourceConfigurationFilename the filename of the resources configuration file or null you do not want to
+ * use the {@link bitronix.tm.resource.ResourceLoader}.
+ * @return this.
+ */
+ public Configuration setResourceConfigurationFilename(String resourceConfigurationFilename) {
+ checkNotStarted();
+ this.resourceConfigurationFilename = resourceConfigurationFilename;
+ return this;
+ }
+
+ /**
+ * Build the server ID byte array that will be prepended in generated UIDs. Once built, the value is cached for
+ * the duration of the JVM lifespan.
+ * @return the server ID.
+ */
+ public byte[] buildServerIdArray() {
+ if (serverIdArray == null) {
+ try {
+ serverIdArray = serverId.substring(0, Math.min(serverId.length(), MAX_SERVER_ID_LENGTH)).getBytes("US-ASCII");
+ } catch (Exception ex) {
+ log.warn("cannot get this JVM unique ID. Make sure it is configured and you only use ASCII characters. Will use IP address instead (unsafe for production usage!).");
+ try {
+ serverIdArray = InetAddress.getLocalHost().getHostAddress().getBytes("US-ASCII");
+ } catch (Exception ex2) {
+ final String unknownServerId = "unknown-server-id";
+ log.warn("cannot get the local IP address. Will replace it with '" + unknownServerId + "' constant (highly unsafe!).");
+ serverIdArray = unknownServerId.getBytes();
+ }
+ }
+
+ if (serverIdArray.length > MAX_SERVER_ID_LENGTH) {
+ byte[] truncatedServerId = new byte[MAX_SERVER_ID_LENGTH];
+ System.arraycopy(serverIdArray, 0, truncatedServerId, 0, MAX_SERVER_ID_LENGTH);
+ serverIdArray = truncatedServerId;
+ }
+
+ String serverIdArrayAsString = new String(serverIdArray);
+ if (serverId == null)
+ serverId = serverIdArrayAsString;
+
+ log.info("JVM unique ID: <" + serverIdArrayAsString + ">");
+ }
+ return serverIdArray;
+ }
+
+ public void shutdown() {
+ }
+
+ public String toString() {
+ StringBuffer sb = new StringBuffer(512);
+ sb.append("a Configuration with [");
+
+ try {
+ sb.append(PropertyUtils.propertiesToString(this));
+ } catch (PropertyException ex) {
+ sb.append("???");
+ if (log.isDebugEnabled()) log.debug("error accessing properties of Configuration object", ex);
+ }
+
+ sb.append("]");
+ return sb.toString();
+ }
+
+ /*
+ * Internal implementation
+ */
+
+ private void checkNotStarted() {
+ if (TransactionManagerServices.isTransactionManagerRunning())
+ throw new IllegalStateException("cannot change the configuration while the transaction manager is running");
+ }
+
+ static String getString(Properties properties, String key, String defaultValue) {
+ String value = System.getProperty(key);
+ if (value == null) {
+ value = properties.getProperty(key);
+ if (value == null)
+ return defaultValue;
+ }
+ return evaluate(properties, value);
+ }
+
+ static boolean getBoolean(Properties properties, String key, boolean defaultValue) {
+ return Boolean.valueOf(getString(properties, key, "" + defaultValue)).booleanValue();
+ }
+
+ static int getInt(Properties properties, String key, int defaultValue) {
+ return Integer.parseInt(getString(properties, key, "" + defaultValue));
+ }
+
+ private static String evaluate(Properties properties, String value) {
+ String result = value;
+
+ int startIndex = value.indexOf('$');
+ if (startIndex > -1 && value.length() > startIndex +1 && value.charAt(startIndex +1) == '{') {
+ int endIndex = value.indexOf('}');
+ if (startIndex +2 == endIndex)
+ throw new IllegalArgumentException("property ref cannot refer to an empty name: ${}");
+ if (endIndex == -1)
+ throw new IllegalArgumentException("unclosed property ref: ${" + value.substring(startIndex +2));
+
+ String subPropertyKey = value.substring(startIndex +2, endIndex);
+ String subPropertyValue = getString(properties, subPropertyKey, null);
+
+ result = result.substring(0, startIndex) + subPropertyValue + result.substring(endIndex +1);
+ return evaluate(properties, result);
+ }
+
+ return result;
+ }
+
+}
diff --git a/src/bitronix/tm/TransactionManagerServices.java b/src/bitronix/tm/TransactionManagerServices.java
new file mode 100644
index 0000000..a54b0e7
--- /dev/null
+++ b/src/bitronix/tm/TransactionManagerServices.java
@@ -0,0 +1,201 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm;
+
+import bitronix.tm.journal.DiskJournal;
+import bitronix.tm.journal.Journal;
+import bitronix.tm.journal.NullJournal;
+import bitronix.tm.recovery.Recoverer;
+import bitronix.tm.resource.ResourceLoader;
+import bitronix.tm.timer.TaskScheduler;
+import bitronix.tm.twopc.executor.*;
+import bitronix.tm.utils.InitializationException;
+import bitronix.tm.utils.ClassLoaderUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Container for all BTM services.
+ * <p>The different services available are: {@link BitronixTransactionManager}, {@link Configuration}, {@link Journal},
+ * {@link TaskScheduler}, {@link ResourceLoader}, {@link Recoverer} and {@link Executor}. They are used in all places
+ * of the TM so they must be globally reachable.</p>
+ *
+ * @author lorban
+ */
+public class TransactionManagerServices {
+
+ private final static Logger log = LoggerFactory.getLogger(TransactionManagerServices.class);
+
+ private static BitronixTransactionManager transactionManager;
+ private static BitronixTransactionSynchronizationRegistry transactionSynchronizationRegistry;
+ private static Configuration configuration;
+ private static Journal journal;
+ private static TaskScheduler taskScheduler;
+ private static ResourceLoader resourceLoader;
+ private static Recoverer recoverer;
+ private static Executor executor;
+
+ /**
+ * Create an initialized transaction manager.
+ * @return the transaction manager.
+ */
+ public synchronized static BitronixTransactionManager getTransactionManager() {
+ if (transactionManager == null)
+ transactionManager = new BitronixTransactionManager();
+ return transactionManager;
+ }
+
+ /**
+ * Create the JTA 1.1 TransactionSynchronizationRegistry.
+ * @return the TransactionSynchronizationRegistry.
+ */
+ public synchronized static BitronixTransactionSynchronizationRegistry getTransactionSynchronizationRegistry() {
+ if (transactionSynchronizationRegistry == null)
+ transactionSynchronizationRegistry = new BitronixTransactionSynchronizationRegistry();
+ return transactionSynchronizationRegistry;
+ }
+
+ /**
+ * Create the configuration of all the components of the transaction manager.
+ * @return the global configuration.
+ */
+ public synchronized static Configuration getConfiguration() {
+ if (configuration == null)
+ configuration = new Configuration();
+ return configuration;
+ }
+
+ /**
+ * Create the transactions journal.
+ * @return the transactions journal.
+ */
+ public synchronized static Journal getJournal() {
+ if (journal == null) {
+ String configuredJounal = getConfiguration().getJournal();
+ if ("disk".equals(configuredJounal))
+ journal = new DiskJournal();
+ else if ("null".equals(configuredJounal))
+ journal = new NullJournal();
+ else {
+ try {
+ Class clazz = ClassLoaderUtils.loadClass(configuredJounal);
+ journal = (Journal) clazz.newInstance();
+ } catch (Exception ex) {
+ throw new InitializationException("invalid journal implementation '" + configuredJounal + "'", ex);
+ }
+ }
+ if (log.isDebugEnabled()) log.debug("using journal " + configuredJounal);
+ }
+ return journal;
+ }
+
+ /**
+ * Create the task scheduler.
+ * @return the task scheduler.
+ */
+ public synchronized static TaskScheduler getTaskScheduler() {
+ if (taskScheduler == null) {
+ taskScheduler = new TaskScheduler();
+ taskScheduler.start();
+ }
+ return taskScheduler;
+ }
+
+ /**
+ * Create the resource loader.
+ * @return the resource loader.
+ */
+ public synchronized static ResourceLoader getResourceLoader() {
+ if (resourceLoader == null) {
+ resourceLoader = new ResourceLoader();
+ }
+ return resourceLoader;
+ }
+
+ /**
+ * Create the transaction recoverer.
+ * @return the transaction recoverer.
+ */
+ public synchronized static Recoverer getRecoverer() {
+ if (recoverer == null) {
+ recoverer = new Recoverer();
+ }
+ return recoverer;
+ }
+
+ /**
+ * Create the 2PC executor.
+ * @return the 2PC executor.
+ */
+ public synchronized static Executor getExecutor() {
+ if (executor == null) {
+ boolean async = getConfiguration().isAsynchronous2Pc();
+ if (async) {
+ if (log.isDebugEnabled()) log.debug("trying to use ConcurrentExecutor");
+ executor = new ConcurrentExecutor();
+ if (!executor.isUsable()) {
+ if (log.isDebugEnabled()) log.debug("trying to use BackportConcurrentExecutor");
+ executor = new BackportConcurrentExecutor();
+ }
+ if (!executor.isUsable()) {
+ if (log.isDebugEnabled()) log.debug("using SimpleAsyncExecutor");
+ executor = new SimpleAsyncExecutor();
+ }
+ }
+ else {
+ if (log.isDebugEnabled()) log.debug("using SyncExecutor");
+ executor = new SyncExecutor();
+ }
+ }
+ return executor;
+ }
+
+ /**
+ * Check if the transaction manager has started.
+ * @return true if the transaction manager has started.
+ */
+ public synchronized static boolean isTransactionManagerRunning() {
+ return transactionManager != null;
+ }
+
+ /**
+ * Check if the task scheduler has started.
+ * @return true if the task scheduler has started.
+ */
+ public synchronized static boolean isTaskSchedulerRunning() {
+ return taskScheduler != null;
+ }
+
+ /**
+ * Clear services references. Called at the end of the shutdown procedure.
+ */
+ protected static synchronized void clear() {
+ transactionManager = null;
+ transactionSynchronizationRegistry = null;
+ configuration = null;
+ journal = null;
+ taskScheduler = null;
+ resourceLoader = null;
+ recoverer = null;
+ executor = null;
+ }
+
+}
diff --git a/src/bitronix/tm/Version.java b/src/bitronix/tm/Version.java
new file mode 100644
index 0000000..87f6fe7
--- /dev/null
+++ b/src/bitronix/tm/Version.java
@@ -0,0 +1,7 @@
+package bitronix.tm;
+
+ public final class Version {
+ public static String getVersion() {
+ return "2.1.2";
+ }
+ }
\ No newline at end of file
diff --git a/src/bitronix/tm/gui/Console.java b/src/bitronix/tm/gui/Console.java
new file mode 100644
index 0000000..3efd77e
--- /dev/null
+++ b/src/bitronix/tm/gui/Console.java
@@ -0,0 +1,461 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.gui;
+
+import bitronix.tm.BitronixXid;
+import bitronix.tm.Configuration;
+import bitronix.tm.TransactionManagerServices;
+import bitronix.tm.utils.Uid;
+import bitronix.tm.journal.TransactionLogRecord;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.swing.*;
+import javax.swing.border.EtchedBorder;
+import javax.transaction.Status;
+import java.awt.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+import java.io.File;
+import java.io.IOException;
+import java.io.RandomAccessFile;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.HashMap;
+
+/**
+ * <p></p>
+ *
+ * @author lorban
+ */
+public class Console extends JFrame {
+
+ private final static Logger log = LoggerFactory.getLogger(Console.class);
+
+ protected static final SimpleDateFormat dateFormatter = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss.SSS");
+
+ private JTabbedPane tabbedPane = new JTabbedPane();
+ private JTable rawViewTransactionsTable = new JTable();
+ private JTable pendingViewTransactionsTable = new JTable();
+ private JScrollPane rawTransactionsTableScrollpane = new JScrollPane(rawViewTransactionsTable);
+ private JScrollPane pendingTransactionsTableScrollpane = new JScrollPane(pendingViewTransactionsTable);
+ private ResourcesPanel resourcesPanel = new ResourcesPanel();
+ private JPanel statusBarPanel = new JPanel();
+ private JLabel statusLabel = new JLabel();
+ private TransactionLogHeaderPanel transactionLogHeaderPanel1 = new TransactionLogHeaderPanel();
+ private TransactionLogHeaderPanel transactionLogHeaderPanel2 = new TransactionLogHeaderPanel();
+ private JMenuBar menuBar = new JMenuBar();
+
+
+ public Console() throws IOException {
+ final Configuration configuration = TransactionManagerServices.getConfiguration();
+
+ JMenu findMenu = new JMenu("Find");
+ menuBar.add(findMenu);
+ JMenuItem bySequenceItem = new JMenuItem("First by sequence");
+ JMenuItem byGtridItem = new JMenuItem("First by GTRID");
+ findMenu.add(bySequenceItem);
+ findMenu.add(byGtridItem);
+
+ JMenu analysisMenu = new JMenu("Analysis");
+ menuBar.add(analysisMenu);
+ JMenuItem switchLogFilesItem = new JMenuItem("Switch log files");
+ analysisMenu.add(switchLogFilesItem);
+ JMenuItem countDuplicatedGtridsItem = new JMenuItem("Count duplicated GTRID");
+ analysisMenu.add(countDuplicatedGtridsItem);
+ JMenuItem countByStatus = new JMenuItem("Count by status");
+ analysisMenu.add(countByStatus);
+
+ transactionLogHeaderPanel1.read(getActiveLogFile(configuration), true);
+ transactionLogHeaderPanel2.read(getPassiveLogFile(configuration), false);
+
+ pendingViewTransactionsTable.setModel(new PendingTransactionTableModel(getActiveLogFile(configuration)));
+ pendingViewTransactionsTable.addMouseListener(new TransactionTableMouseListener(this, pendingViewTransactionsTable));
+
+ rawViewTransactionsTable.setDefaultRenderer(String.class, new TransactionTableCellRenderer());
+ rawViewTransactionsTable.setModel(new RawTransactionTableModel(getActiveLogFile(configuration)));
+ rawViewTransactionsTable.addMouseListener(new TransactionTableMouseListener(this, rawViewTransactionsTable));
+
+ final JPopupMenu rawViewTransactionsTablePopupMenu = new JPopupMenu();
+ final JCheckBoxMenuItem filterByGtridItem = new JCheckBoxMenuItem("Filter by GTRID");
+ filterByGtridItem.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ filterByGtrid(filterByGtridItem.isSelected());
+ }
+ });
+ rawViewTransactionsTablePopupMenu.add(filterByGtridItem);
+ rawViewTransactionsTable.addMouseListener(new MouseListener() {
+ public void mouseClicked(MouseEvent e) {
+ }
+ public void mouseEntered(MouseEvent e) {
+ }
+ public void mouseExited(MouseEvent e) {
+ }
+ public void mousePressed(MouseEvent e) {
+ if (e.isPopupTrigger()) {
+ rawViewTransactionsTablePopupMenu.show(e.getComponent(), e.getX(), e.getY());
+ int row = rawViewTransactionsTable.rowAtPoint(new Point(e.getX(), e.getY()));
+ selectTableRow(rawViewTransactionsTable, row);
+ }
+ }
+ public void mouseReleased(MouseEvent e) {
+ mousePressed(e);
+ }
+ });
+
+ tabbedPane.add("Pending logs", pendingTransactionsTableScrollpane);
+ tabbedPane.add("Raw logs", rawTransactionsTableScrollpane);
+ tabbedPane.add("Resources", resourcesPanel);
+
+ refreshStatus();
+
+ statusBarPanel.setLayout(new GridLayout(3, 1, 1, 1));
+ statusBarPanel.setBorder(BorderFactory.createEtchedBorder(EtchedBorder.RAISED));
+ statusBarPanel.add(transactionLogHeaderPanel1);
+ statusBarPanel.add(transactionLogHeaderPanel2);
+ statusBarPanel.add(statusLabel);
+
+ switchLogFilesItem.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent evt) {
+ switchLogFiles(configuration);
+ }
+ });
+
+ countDuplicatedGtridsItem.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent evt) {
+ countDuplicatedGtrids();
+ }
+ });
+
+ countByStatus.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent evt) {
+ countByStatus();
+ }
+ });
+
+ bySequenceItem.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent evt) {
+ findBySequence();
+ }
+ });
+
+ byGtridItem.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent evt) {
+ findByGtrid();
+ }
+ });
+
+ setTitle("Bitronix Transaction Manager Console");
+ setJMenuBar(menuBar);
+ getContentPane().setLayout(new BorderLayout(0, 2));
+ getContentPane().add(tabbedPane, BorderLayout.CENTER);
+ getContentPane().add(statusBarPanel, BorderLayout.SOUTH);
+ setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+ setSize(800, 600);
+ setVisible(true);
+ }
+
+
+ private File activeLogFile;
+ private File passiveLogFile;
+ private File realActiveLogFile;
+
+ private File getActiveLogFile(Configuration configuration) throws IOException {
+ if (activeLogFile == null) {
+ activeLogFile = pickCurrentLogFile(new File(configuration.getLogPart1Filename()), new File(configuration.getLogPart2Filename()));
+ realActiveLogFile = activeLogFile;
+ if (log.isDebugEnabled()) log.debug("active file is " + activeLogFile.getName());
+ }
+ return activeLogFile;
+ }
+
+ public static File pickCurrentLogFile(File file1, File file2) throws IOException {
+ RandomAccessFile activeRandomAccessFile;
+ activeRandomAccessFile = new RandomAccessFile(file1, "r");
+ int formatId1 = activeRandomAccessFile.readInt();
+ if (formatId1 != BitronixXid.FORMAT_ID)
+ throw new IOException("log file 1 " + file1.getName() + " is not a Bitronix Log file (incorrect header)");
+ long timestamp1 = activeRandomAccessFile.readLong();
+ activeRandomAccessFile.close();
+
+ activeRandomAccessFile = new RandomAccessFile(file2, "r");
+ int formatId2 = activeRandomAccessFile.readInt();
+ if (formatId2 != BitronixXid.FORMAT_ID)
+ throw new IOException("log file 2 " + file2.getName() + " is not a Bitronix Log file (incorrect header)");
+ long timestamp2 = activeRandomAccessFile.readLong();
+ activeRandomAccessFile.close();
+
+ if (timestamp1 > timestamp2) {
+ return file1;
+ } else {
+ return file2;
+ }
+ }
+
+ private File getPassiveLogFile(Configuration configuration) throws IOException {
+ if (passiveLogFile == null) {
+ if (getActiveLogFile(configuration).getName().equals(configuration.getLogPart1Filename()))
+ passiveLogFile = new File(configuration.getLogPart2Filename());
+ else
+ passiveLogFile = new File(configuration.getLogPart1Filename());
+ }
+ return passiveLogFile;
+ }
+
+ private void refreshStatus() {
+ statusLabel.setText("active log file is " + realActiveLogFile.getName() + " - displayed log file contains " + pendingViewTransactionsTable.getModel().getRowCount() + " dangling transaction log(s) over " + rawViewTransactionsTable.getModel().getRowCount() + " total transaction log(s)");
+ }
+
+ private void switchLogFiles(Configuration configuration) {
+ File temp = activeLogFile;
+ activeLogFile = passiveLogFile;
+ passiveLogFile = temp;
+ File realPassive = activeLogFile == realActiveLogFile ? passiveLogFile : activeLogFile;
+
+
+ try {
+ transactionLogHeaderPanel1.read(realActiveLogFile, configuration.getLogPart1Filename().equals(activeLogFile.getName()));
+ transactionLogHeaderPanel2.read(realPassive, configuration.getLogPart2Filename().equals(activeLogFile.getName()));
+
+ pendingViewTransactionsTable.setModel(new PendingTransactionTableModel(getActiveLogFile(configuration)));
+ rawViewTransactionsTable.setModel(new RawTransactionTableModel(getActiveLogFile(configuration)));
+
+ refreshStatus();
+ } catch (IOException ex) {
+ JOptionPane.showMessageDialog(this, "Reloading model of switched logs failed. Try again.", "Error", JOptionPane.ERROR_MESSAGE);
+ }
+ }
+
+ private void countDuplicatedGtrids() {
+ TransactionTableModel transactionTableModel = (TransactionTableModel) rawViewTransactionsTable.getModel();
+
+ HashMap gtrids = new HashMap();
+ HashMap redundantGtrids = new HashMap();
+
+ for (int i = 0; i < transactionTableModel.getRowCount(); i++) {
+ TransactionLogRecord tlog = transactionTableModel.getRow(i);
+ if (tlog.getStatus() == Status.STATUS_COMMITTING) {
+ Uid gtrid = tlog.getGtrid();
+ if (gtrids.containsKey(gtrid)) {
+ java.util.List tlogs = (java.util.List) gtrids.get(gtrid);
+ tlogs.add(tlog);
+ redundantGtrids.put(gtrid, tlogs);
+ }
+ else {
+ java.util.List tlogs = new ArrayList();
+ tlogs.add(tlog);
+ gtrids.put(gtrid, tlogs);
+ }
+ }
+ }
+
+ JTable table = new JTable(new DuplicatedGtridTableModel(redundantGtrids));
+ JScrollPane scrollPane = new JScrollPane(table);
+ JDialog dialog = new JDialog(this, redundantGtrids.size() + " duplicated GTRIDs found");
+ dialog.getContentPane().add(scrollPane);
+ dialog.pack();
+ dialog.setModal(false);
+ dialog.setVisible(true);
+
+// JOptionPane.showMessageDialog(this, redundantGtrids.size() + " duplicated GTRID", "Duplicated GTRID count", JOptionPane.INFORMATION_MESSAGE);
+ }
+
+ private void countByStatus() {
+ TransactionTableModel transactionTableModel = (TransactionTableModel) rawViewTransactionsTable.getModel();
+
+ int preparing = 0;
+ int prepared = 0;
+ int rollingback = 0;
+ int rolledback = 0;
+ int committing = 0;
+ int committed = 0;
+ int active = 0;
+ int unknown = 0;
+
+ for (int i = 0; i < transactionTableModel.getRowCount(); i++) {
+ TransactionLogRecord tlog = transactionTableModel.getRow(i);
+ switch (tlog.getStatus()) {
+ case Status.STATUS_ACTIVE:
+ active++;
+ break;
+ case Status.STATUS_PREPARING:
+ preparing++;
+ break;
+ case Status.STATUS_PREPARED:
+ prepared++;
+ break;
+ case Status.STATUS_COMMITTING:
+ committing++;
+ break;
+ case Status.STATUS_COMMITTED:
+ committed++;
+ break;
+ case Status.STATUS_ROLLING_BACK:
+ rollingback++;
+ break;
+ case Status.STATUS_ROLLEDBACK:
+ rolledback++;
+ break;
+ default:
+ unknown++;
+ }
+ }
+
+ String message = "Active: " + active + "\n"
+ + "Preparing: " + preparing + "\n"
+ + "Prepared: " + prepared + "\n"
+ + "Committing: " + committing + "\n"
+ + "Committed: " + committed + "\n"
+ + "Rolling back: " + rollingback + "\n"
+ + "Rolled back: " + rolledback;
+ if (unknown > 0)
+ message += "\nUnknown: " + unknown;
+
+ JOptionPane.showMessageDialog(this, message, "Count by status", JOptionPane.INFORMATION_MESSAGE);
+ }
+
+ private void findBySequence() {
+ String sequence = JOptionPane.showInputDialog(this, "Enter sequence to search for");
+ int searchedSequence;
+ try {
+ searchedSequence = new Integer(sequence).intValue();
+ } catch (NumberFormatException ex) {
+ JOptionPane.showMessageDialog(this, "Please input a number", "Find by sequence", JOptionPane.ERROR_MESSAGE);
+ return;
+ }
+
+ if (tabbedPane.getSelectedComponent() == pendingTransactionsTableScrollpane) {
+ TransactionTableModel transactionTableModel = (TransactionTableModel) pendingViewTransactionsTable.getModel();
+ selectTLogMatchingSequence(transactionTableModel, searchedSequence, pendingViewTransactionsTable);
+ } else {
+ TransactionTableModel transactionTableModel = (TransactionTableModel) rawViewTransactionsTable.getModel();
+ selectTLogMatchingSequence(transactionTableModel, searchedSequence, rawViewTransactionsTable);
+ }
+ }
+
+ private void findByGtrid() {
+ String gtrid = JOptionPane.showInputDialog(this, "Enter GTRID to search for");
+
+ if (tabbedPane.getSelectedComponent() == pendingTransactionsTableScrollpane) {
+ TransactionTableModel transactionTableModel = (TransactionTableModel) pendingViewTransactionsTable.getModel();
+ selectTLogMatchingGtrid(transactionTableModel, gtrid, pendingViewTransactionsTable);
+ } else {
+ TransactionTableModel transactionTableModel = (TransactionTableModel) rawViewTransactionsTable.getModel();
+ selectTLogMatchingGtrid(transactionTableModel, gtrid, rawViewTransactionsTable);
+ }
+ }
+
+ private void filterByGtrid(boolean filter) {
+ RawTransactionTableModel model = (RawTransactionTableModel) rawViewTransactionsTable.getModel();
+ if (filter) {
+ int selectedRow = rawViewTransactionsTable.getSelectedRow();
+ String gtrid = (String) model.getValueAt(selectedRow, RawTransactionTableModel.GTRID_COL);
+ model.filterByGtrid(gtrid);
+ }
+ else {
+ model.filterByGtrid(null);
+ }
+ rawViewTransactionsTable.repaint();
+ }
+
+ private void selectTLogMatchingSequence(TransactionTableModel transactionTableModel, int sequenceNumber, JTable table) {
+ int startIndex = table.getSelectedRow() + 1;
+
+ for (int i = startIndex; i < transactionTableModel.getRowCount(); i++) {
+ TransactionLogRecord tlog = transactionTableModel.getRow(i);
+ if (tlog.getSequenceNumber() == sequenceNumber) {
+ selectTableRow(table, i);
+ return;
+ }
+ }
+
+ // if it is not found, search starting back at the beginning of the list up to where we previously started
+ if (startIndex > 0) {
+ for (int i = 0; i < startIndex; i++) {
+ TransactionLogRecord tlog = transactionTableModel.getRow(i);
+ if (tlog.getSequenceNumber() == sequenceNumber) {
+ selectTableRow(table, i);
+ return;
+ }
+ }
+ }
+
+ JOptionPane.showMessageDialog(this, "Not found", "Find by sequence", JOptionPane.INFORMATION_MESSAGE);
+ }
+
+ private void selectTLogMatchingGtrid(TransactionTableModel transactionTableModel, String gtrid, JTable table) {
+ int startIndex = table.getSelectedRow() + 1;
+
+ for (int i = startIndex; i < transactionTableModel.getRowCount(); i++) {
+ TransactionLogRecord tlog = transactionTableModel.getRow(i);
+ if (tlog.getGtrid().toString().equals(gtrid)) {
+ selectTableRow(table, i);
+ return;
+ }
+ }
+
+ // if it is not found, search starting back at the beginning of the list up to where we previously started
+ if (startIndex > 0) {
+ for (int i = 0; i < startIndex; i++) {
+ TransactionLogRecord tlog = transactionTableModel.getRow(i);
+ if (tlog.getGtrid().toString().equals(gtrid)) {
+ selectTableRow(table, i);
+ return;
+ }
+ }
+ }
+
+ JOptionPane.showMessageDialog(this, "Not found", "Find by GTRID", JOptionPane.INFORMATION_MESSAGE);
+ }
+
+ private void selectTableRow(JTable table, int rowNum) {
+ if (rowNum == -1)
+ return;
+
+ // select the row
+ table.setRowSelectionInterval(rowNum, rowNum);
+
+ // now scroll to the selected row
+
+ JViewport viewport = (JViewport) table.getParent();
+ Rectangle rect = table.getCellRect(rowNum, 0, true);
+ // The location of the view relative to the table
+ Rectangle viewRect = viewport.getViewRect();
+
+ // Translate the cell location so that it is relative
+ // to the view, assuming the northwest corner of the
+ // view is (0,0).
+ rect.setLocation(rect.x - viewRect.x, rect.y - viewRect.y);
+ viewport.scrollRectToVisible(rect);
+ }
+
+ public static void main(String[] args) throws Exception {
+ try {
+ new Console();
+ } catch (IOException ex) {
+ JOptionPane.showMessageDialog(null, ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
+ ex.printStackTrace();
+ }
+ }
+
+}
diff --git a/src/bitronix/tm/gui/DuplicatedGtridTableModel.java b/src/bitronix/tm/gui/DuplicatedGtridTableModel.java
new file mode 100644
index 0000000..893a850
--- /dev/null
+++ b/src/bitronix/tm/gui/DuplicatedGtridTableModel.java
@@ -0,0 +1,88 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.gui;
+
+import bitronix.tm.journal.TransactionLogRecord;
+
+import javax.swing.table.DefaultTableModel;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p></p>
+ *
+ * @author lorban
+ */
+public class DuplicatedGtridTableModel extends DefaultTableModel {
+
+ private Map duplicatedGtrids;
+
+ public DuplicatedGtridTableModel(Map map) {
+ super(map.size(), 2);
+ this.duplicatedGtrids = map;
+ }
+
+ public String getColumnName(int column) {
+ switch (column) {
+ case 0: return "Sequence number";
+ case 1: return "GTRID";
+ default: return "?";
+ }
+ }
+
+ public Object getValueAt(int row, int column) {
+ Iterator it = duplicatedGtrids.entrySet().iterator();
+ List tlogs = null;
+ int i=0;
+ while (i<=row && it.hasNext()) {
+ i++;
+ Map.Entry entry = (Map.Entry) it.next();
+ tlogs = (List) entry.getValue();
+ }
+
+ if (tlogs == null)
+ return null;
+
+ switch (column) {
+ case 0: return buildTlogsSequenceNumber(tlogs);
+ case 1: return buildTlogsGtrid(tlogs);
+ default: return "?";
+ }
+ }
+
+ private String buildTlogsSequenceNumber(List tlogs) {
+ StringBuffer sb = new StringBuffer();
+ for (int i = 0; i < tlogs.size(); i++) {
+ TransactionLogRecord tlog = (TransactionLogRecord) tlogs.get(i);
+ sb.append(tlog.getSequenceNumber());
+ if (i < tlogs.size() -1)
+ sb.append(", ");
+ }
+ return sb.toString();
+ }
+
+ private String buildTlogsGtrid(List tlogs) {
+ TransactionLogRecord tlog = (TransactionLogRecord) tlogs.get(0);
+ return tlog.getGtrid().toString();
+ }
+
+}
diff --git a/src/bitronix/tm/gui/PendingTransactionTableModel.java b/src/bitronix/tm/gui/PendingTransactionTableModel.java
new file mode 100644
index 0000000..2313ec7
--- /dev/null
+++ b/src/bitronix/tm/gui/PendingTransactionTableModel.java
@@ -0,0 +1,146 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.gui;
+
+import bitronix.tm.utils.Decoder;
+import bitronix.tm.journal.TransactionLogRecord;
+import org.slf4j.LoggerFactory;
+import org.slf4j.Logger;
+
+import javax.swing.event.TableModelListener;
+import javax.transaction.Status;
+import java.io.File;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * <p></p>
+ *
+ * @author lorban
+ */
+public class PendingTransactionTableModel extends TransactionTableModel {
+
+ private final static Logger log = LoggerFactory.getLogger(PendingTransactionTableModel.class);
+
+ public PendingTransactionTableModel(File filename) {
+ try {
+ readFullTransactionLog(filename);
+ } catch (Exception ex) {
+ log.error("corrupted log file", ex);
+ }
+ }
+
+ public int getColumnCount() {
+ return 8;
+ }
+
+ public int getRowCount() {
+ return tLogs.size();
+ }
+
+ public boolean isCellEditable(int rowIndex, int columnIndex) {
+ return false;
+ }
+
+ public Class getColumnClass(int columnIndex) {
+ return String.class;
+ }
+
+ public Object getValueAt(int rowIndex, int columnIndex) {
+ TransactionLogRecord tlog = (TransactionLogRecord) tLogs.get(rowIndex);
+ switch (columnIndex) {
+ case 0:
+ return Decoder.decodeStatus(tlog.getStatus());
+ case 1:
+ return "" + tlog.getRecordLength();
+ case 2:
+ return "" + tlog.getHeaderLength();
+ case 3:
+ return "" + tlog.getTime();
+ case 4:
+ return "" + tlog.getSequenceNumber();
+ case 5:
+ return "" + tlog.getCrc32();
+ case 6:
+ return "" + tlog.getUniqueNames().size();
+ case 7:
+ return tlog.getGtrid().toString();
+ default:
+ return null;
+ }
+ }
+
+ public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
+ }
+
+ public String getColumnName(int columnIndex) {
+ switch (columnIndex) {
+ case 0:
+ return "Record Status";
+ case 1:
+ return "Record length";
+ case 2:
+ return "Header length";
+ case 3:
+ return "Record time";
+ case 4:
+ return "Record sequence number";
+ case 5:
+ return "CRC";
+ case 6:
+ return "Resources";
+ case 7:
+ return "GTRID";
+ default:
+ return null;
+ }
+ }
+
+ public void addTableModelListener(TableModelListener l) {
+ }
+
+ public void removeTableModelListener(TableModelListener l) {
+ }
+
+
+ private Map pendingTLogs = new HashMap();
+
+ protected void readFullTransactionLog(File filename) throws IOException {
+ super.readFullTransactionLog(filename);
+ pendingTLogs.clear();
+ }
+
+ public boolean acceptLog(TransactionLogRecord tlog) {
+ if (tlog.getStatus() == Status.STATUS_COMMITTING) {
+ pendingTLogs.put(tlog.getGtrid(), tlog);
+ return true;
+ }
+ if (tlog.getStatus() == Status.STATUS_COMMITTED || tlog.getStatus() == Status.STATUS_ROLLEDBACK && pendingTLogs.containsKey(tlog.getGtrid().toString())) {
+ tLogs.remove(pendingTLogs.get(tlog.getGtrid()));
+ }
+ return false;
+ }
+
+ public TransactionLogRecord getRow(int row) {
+ return (TransactionLogRecord) tLogs.get(row);
+ }
+}
diff --git a/src/bitronix/tm/gui/RawTransactionTableModel.java b/src/bitronix/tm/gui/RawTransactionTableModel.java
new file mode 100644
index 0000000..7db34ca
--- /dev/null
+++ b/src/bitronix/tm/gui/RawTransactionTableModel.java
@@ -0,0 +1,149 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.gui;
+
+import bitronix.tm.utils.Decoder;
+import bitronix.tm.journal.TransactionLogRecord;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.swing.event.TableModelListener;
+import java.io.File;
+import java.util.Date;
+import java.util.List;
+import java.util.ArrayList;
+
+/**
+ * <p></p>
+ *
+ * @author lorban
+ */
+public class RawTransactionTableModel extends TransactionTableModel {
+
+ private List displayedRows;
+
+ private final static Logger log = LoggerFactory.getLogger(RawTransactionTableModel.class);
+ public static final int GTRID_COL = 7;
+
+ public RawTransactionTableModel(File filename) {
+ try {
+ readFullTransactionLog(filename);
+ } catch (Exception ex) {
+ log.error("corrupted log file", ex);
+ }
+ displayedRows = new ArrayList(tLogs);
+ }
+
+ public int getColumnCount() {
+ return 8;
+ }
+
+ public int getRowCount() {
+ return displayedRows.size();
+ }
+
+ public boolean isCellEditable(int rowIndex, int columnIndex) {
+ return false;
+ }
+
+ public Class getColumnClass(int columnIndex) {
+ return String.class;
+ }
+
+ public Object getValueAt(int rowIndex, int columnIndex) {
+ TransactionLogRecord tlog = (TransactionLogRecord) displayedRows.get(rowIndex);
+ switch (columnIndex) {
+ case 0:
+ return Decoder.decodeStatus(tlog.getStatus());
+ case 1:
+ return "" + tlog.getRecordLength();
+ case 2:
+ return "" + tlog.getHeaderLength();
+ case 3:
+ return Console.dateFormatter.format(new Date(tlog.getTime()));
+ case 4:
+ return "" + tlog.getSequenceNumber();
+ case 5:
+ return "" + tlog.getCrc32();
+ case 6:
+ return "" + tlog.getUniqueNames().size();
+ case 7:
+ return tlog.getGtrid().toString();
+ default:
+ return null;
+ }
+ }
+
+ public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
+ }
+
+ public String getColumnName(int columnIndex) {
+ switch (columnIndex) {
+ case 0:
+ return "Record Status";
+ case 1:
+ return "Record length";
+ case 2:
+ return "Header length";
+ case 3:
+ return "Record time";
+ case 4:
+ return "Record sequence number";
+ case 5:
+ return "CRC";
+ case 6:
+ return "Resources";
+ case 7:
+ return "GTRID";
+ default:
+ return null;
+ }
+ }
+
+ public void addTableModelListener(TableModelListener l) {
+ }
+
+ public void removeTableModelListener(TableModelListener l) {
+ }
+
+ public boolean acceptLog(TransactionLogRecord tlog) {
+ return true;
+ }
+
+ public TransactionLogRecord getRow(int row) {
+ return (TransactionLogRecord) displayedRows.get(row);
+ }
+
+ public void filterByGtrid(String gtrid) {
+ if (gtrid == null) {
+ displayedRows = new ArrayList(tLogs);
+ }
+ else {
+ List newDis = new ArrayList();
+ for (int i = 0; i < displayedRows.size(); i++) {
+ TransactionLogRecord transactionLogRecord = (TransactionLogRecord) displayedRows.get(i);
+ if (transactionLogRecord.getGtrid().toString().equals(gtrid))
+ newDis.add(transactionLogRecord);
+ }
+ displayedRows = newDis;
+ }
+ }
+}
diff --git a/src/bitronix/tm/gui/ResourcesPanel.java b/src/bitronix/tm/gui/ResourcesPanel.java
new file mode 100644
index 0000000..09f2316
--- /dev/null
+++ b/src/bitronix/tm/gui/ResourcesPanel.java
@@ -0,0 +1,100 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.gui;
+
+import bitronix.tm.TransactionManagerServices;
+import bitronix.tm.utils.PropertyUtils;
+import bitronix.tm.resource.ResourceLoader;
+import bitronix.tm.resource.common.ResourceBean;
+
+import javax.swing.*;
+import java.awt.*;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.util.Iterator;
+import java.util.Map;
+
+/**
+ *
+ * @author lorban
+ */
+public class ResourcesPanel extends JPanel {
+
+ private JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
+
+ private JTree resourcesTree = new JTree();
+ private JScrollPane resourcesTreeScrollpane = new JScrollPane(resourcesTree);
+
+ private JTextArea activeResource = new JTextArea();
+
+ public ResourcesPanel() {
+ setLayout(new GridLayout(1, 1));
+ resourcesTree.setModel(new ResourcesTreeModel());
+
+ resourcesTree.addMouseListener(new MouseAdapter() {
+ public void mouseClicked(MouseEvent evt) {
+ JTree tree = (JTree) evt.getSource();
+ int selectedRow = tree.getSelectionRows()[0] -1;
+
+ ResourceLoader resourceLoader = TransactionManagerServices.getResourceLoader();
+ Iterator it = resourceLoader.getResources().entrySet().iterator();
+ ResourceBean resource = null;
+ for (int i=0; i<selectedRow+1 ;i++) {
+ Map.Entry entry = (Map.Entry) it.next();
+ resource = (ResourceBean) entry.getValue();
+ }
+
+
+ if (resource != null) {
+ try {
+ Map properties = PropertyUtils.getProperties(resource);
+ StringBuffer sb = new StringBuffer();
+ Iterator it2 = properties.entrySet().iterator();
+ while (it2.hasNext()) {
+ Map.Entry entry = (Map.Entry) it2.next();
+ String name = (String) entry.getKey();
+ Object valueObject = entry.getValue();
+ String value = valueObject == null ? null : valueObject.toString();
+
+ sb.append(name);
+ sb.append('=');
+ sb.append(value);
+ if (it2.hasNext())
+ sb.append('\n');
+ }
+
+ activeResource.setText(sb.toString());
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ JOptionPane.showMessageDialog(null, "error querying resource loader", "Error", JOptionPane.ERROR_MESSAGE);
+ }
+ }
+ else
+ activeResource.setText("");
+ }
+ });
+
+ splitPane.add(resourcesTreeScrollpane);
+ splitPane.add(activeResource);
+ add(splitPane);
+ }
+
+}
diff --git a/src/bitronix/tm/gui/ResourcesTreeModel.java b/src/bitronix/tm/gui/ResourcesTreeModel.java
new file mode 100644
index 0000000..416dbab
--- /dev/null
+++ b/src/bitronix/tm/gui/ResourcesTreeModel.java
@@ -0,0 +1,87 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.gui;
+
+import bitronix.tm.TransactionManagerServices;
+import bitronix.tm.resource.ResourceLoader;
+
+import javax.swing.event.TreeModelListener;
+import javax.swing.tree.TreeModel;
+import javax.swing.tree.TreePath;
+import java.util.Iterator;
+
+/**
+ *
+ * @author lorban
+ */
+public class ResourcesTreeModel implements TreeModel {
+
+ private static final String ROOT = "Resource loader";
+ private ResourceLoader resourceLoader;
+
+ public ResourcesTreeModel() {
+ resourceLoader = TransactionManagerServices.getResourceLoader();
+ }
+
+ public Object getRoot() {
+ return ROOT;
+ }
+
+ public int getChildCount(Object parent) {
+ if (parent.equals(ROOT))
+ return resourceLoader.getResources().size();
+ return 0;
+ }
+
+ public boolean isLeaf(Object node) {
+ if (node.equals(ROOT))
+ return false;
+ return true;
+ }
+
+ public void addTreeModelListener(TreeModelListener l) {
+ //To change body of implemented methods use File | Settings | File Templates.
+ }
+
+ public void removeTreeModelListener(TreeModelListener l) {
+ //To change body of implemented methods use File | Settings | File Templates.
+ }
+
+ public Object getChild(Object parent, int index) {
+ if (index < 0)
+ return ROOT;
+
+ Iterator it = resourceLoader.getResources().entrySet().iterator();
+ Object result = null;
+ for(int i= -1; i<index ;i++) {
+ result = it.next();
+ }
+ return result;
+ }
+
+ public int getIndexOfChild(Object parent, Object child) {
+ return 0; //To change body of implemented methods use File | Settings | File Templates.
+ }
+
+ public void valueForPathChanged(TreePath path, Object newValue) {
+ //To change body of implemented methods use File | Settings | File Templates.
+ }
+}
diff --git a/src/bitronix/tm/gui/TransactionLogDialog.java b/src/bitronix/tm/gui/TransactionLogDialog.java
new file mode 100644
index 0000000..a762c76
--- /dev/null
+++ b/src/bitronix/tm/gui/TransactionLogDialog.java
@@ -0,0 +1,125 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.gui;
+
+import bitronix.tm.utils.Decoder;
+import bitronix.tm.journal.TransactionLogRecord;
+
+import javax.swing.*;
+import java.awt.*;
+import java.util.Date;
+import java.util.Set;
+import java.util.Iterator;
+
+/**
+ * <p></p>
+ *
+ * @author lorban
+ */
+public class TransactionLogDialog extends JDialog {
+
+ private JPanel labelPanel = new JPanel();
+ private JLabel statusLabel = new JLabel("Status");
+ private JLabel recordLengthLabel = new JLabel("Record length");
+ private JLabel headerLengthLabel = new JLabel("Header length");
+ private JLabel timeLabel = new JLabel("Time");
+ private JLabel sequenceNumberLabel = new JLabel("Sequence number");
+ private JLabel crc32Label = new JLabel("CRC");
+ private JLabel gtridLabel = new JLabel("GTRID");
+ private JLabel uniqueNamesLabel = new JLabel("Resources");
+
+ private JPanel fieldPanel = new JPanel();
+ private JTextField statusField = new JTextField();
+ private JTextField recordLengthField = new JTextField();
+ private JTextField headerLengthField = new JTextField();
+ private JTextField timeField = new JTextField();
+ private JTextField sequenceNumberField = new JTextField();
+ private JTextField crc32Field = new JTextField();
+ private JTextField gtridField = new JTextField();
+ private JTextField uniqueNamesField = new JTextField();
+
+
+ public TransactionLogDialog(JFrame frame, TransactionLogRecord tlog) {
+ super(frame, "Transaction log details", true);
+
+
+ statusField.setText(Decoder.decodeStatus(tlog.getStatus()));
+ recordLengthField.setText(""+tlog.getRecordLength());
+ headerLengthField.setText(""+tlog.getHeaderLength());
+ timeField.setText(Console.dateFormatter.format(new Date(tlog.getTime())));
+ sequenceNumberField.setText(""+tlog.getSequenceNumber());
+ if (tlog.isCrc32Correct()) {
+ crc32Field.setText(""+tlog.getCrc32());
+ }
+ else {
+ crc32Field.setText(tlog.getCrc32() + " (should be: " + tlog.calculateCrc32() + ")");
+ crc32Field.setBackground(Color.RED);
+ }
+ gtridField.setText(tlog.getGtrid().toString());
+ uniqueNamesField.setText(buildString(tlog.getUniqueNames()));
+
+ statusField.setEditable(false);
+ recordLengthField.setEditable(false);
+ headerLengthField.setEditable(false);
+ timeField.setEditable(false);
+ sequenceNumberField.setEditable(false);
+ crc32Field.setEditable(false);
+ gtridField.setEditable(false);
+ uniqueNamesField.setEditable(false);
+
+
+ labelPanel.add(statusLabel); fieldPanel.add(statusField);
+ labelPanel.add(recordLengthLabel); fieldPanel.add(recordLengthField);
+ labelPanel.add(headerLengthLabel); fieldPanel.add(headerLengthField);
+ labelPanel.add(timeLabel); fieldPanel.add(timeField);
+ labelPanel.add(sequenceNumberLabel); fieldPanel.add(sequenceNumberField);
+ labelPanel.add(crc32Label); fieldPanel.add(crc32Field);
+ labelPanel.add(gtridLabel); fieldPanel.add(gtridField);
+ labelPanel.add(uniqueNamesLabel); fieldPanel.add(uniqueNamesField);
+
+ labelPanel.setLayout(new GridLayout(8, 1));
+ fieldPanel.setLayout(new GridLayout(8, 1));
+ getContentPane().add(labelPanel);
+ getContentPane().add(fieldPanel);
+ getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.X_AXIS));
+
+ pack();
+ int xPos = (frame.getBounds().width - 600) / 2;
+ int yPos = (frame.getBounds().height - getSize().height) / 2;
+ setBounds(xPos, yPos, 600, getSize().height);
+ }
+
+ private String buildString(Set uniqueNames) {
+ StringBuffer sb = new StringBuffer();
+
+ Iterator it = uniqueNames.iterator();
+ while (it.hasNext()) {
+ Object o = it.next();
+ sb.append(o);
+
+ if (it.hasNext())
+ sb.append(", ");
+ }
+
+ return sb.toString();
+ }
+
+}
diff --git a/src/bitronix/tm/gui/TransactionLogHeaderPanel.java b/src/bitronix/tm/gui/TransactionLogHeaderPanel.java
new file mode 100644
index 0000000..7780727
--- /dev/null
+++ b/src/bitronix/tm/gui/TransactionLogHeaderPanel.java
@@ -0,0 +1,106 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.gui;
+
+import bitronix.tm.utils.Decoder;
+import bitronix.tm.journal.TransactionLogHeader;
+
+import javax.swing.*;
+import java.awt.*;
+import java.io.File;
+import java.io.IOException;
+import java.io.RandomAccessFile;
+import java.util.Date;
+
+import org.slf4j.LoggerFactory;
+import org.slf4j.Logger;
+
+/**
+ * <p></p>
+ *
+ * @author lorban
+ */
+public class TransactionLogHeaderPanel extends JPanel {
+
+ private final static Logger log = LoggerFactory.getLogger(TransactionLogHeaderPanel.class);
+
+ private JTextField logFileField = new JTextField();
+ private JTextField timestampField = new JTextField();
+ private JTextField stateField = new JTextField();
+ private JTextField positionField = new JTextField();
+
+ public TransactionLogHeaderPanel() {
+ logFileField.setEditable(false);
+ timestampField.setEditable(false);
+ stateField.setEditable(false);
+ positionField.setEditable(false);
+
+ logFileField.setBorder(null);
+ timestampField.setBorder(null);
+ stateField.setBorder(null);
+ positionField.setBorder(null);
+
+ setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
+ add(logFileField);
+ add(timestampField);
+ add(stateField);
+ add(positionField);
+ }
+
+ public void setLogFile(File logFile) {
+ logFileField.setText(logFile.getName());
+ }
+
+ public void setTimestamp(long timestamp) {
+ timestampField.setText(Console.dateFormatter.format(new Date(timestamp)));
+ }
+
+ public void setState(byte state) {
+ stateField.setText(Decoder.decodeHeaderState(state));
+ }
+
+ public void setPosition(long position) {
+ positionField.setText("" + position);
+ }
+
+ public void read(File logFile, boolean active) throws IOException {
+ RandomAccessFile raf = new RandomAccessFile(logFile, "r");
+ TransactionLogHeader header = new TransactionLogHeader(raf, 0L);
+ raf.close();
+ if (log.isDebugEnabled()) log.debug("read header: " + header);
+ setLogFile(logFile);
+ setTimestamp(header.getTimestamp());
+ setState(header.getState());
+ setPosition(header.getPosition());
+
+ Font font;
+ if (active) {
+ font = logFileField.getFont().deriveFont(Font.BOLD);
+ }
+ else {
+ font = logFileField.getFont().deriveFont(Font.PLAIN);
+ }
+ logFileField.setFont(font);
+ timestampField.setFont(font);
+ stateField.setFont(font);
+ positionField.setFont(font);
+ }
+}
diff --git a/src/bitronix/tm/gui/TransactionTableCellRenderer.java b/src/bitronix/tm/gui/TransactionTableCellRenderer.java
new file mode 100644
index 0000000..062107b
--- /dev/null
+++ b/src/bitronix/tm/gui/TransactionTableCellRenderer.java
@@ -0,0 +1,57 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.gui;
+
+import bitronix.tm.journal.TransactionLogRecord;
+
+import javax.swing.*;
+import javax.swing.table.DefaultTableCellRenderer;
+import java.awt.*;
+
+/**
+ * <p></p>
+ *
+ * @author lorban
+ */
+public class TransactionTableCellRenderer extends DefaultTableCellRenderer {
+
+ public TransactionTableCellRenderer() {
+ }
+
+ public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
+ Component component = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
+ TransactionLogRecord tlog = (TransactionLogRecord) ((RawTransactionTableModel)table.getModel()).getRow(row);
+ if (!tlog.isCrc32Correct()) {
+ if (isSelected)
+ setBackground(table.getSelectionBackground());
+ else
+ component.setBackground(Color.RED);
+ }
+ else {
+ if (isSelected)
+ setBackground(table.getSelectionBackground());
+ else
+ component.setBackground(Color.WHITE);
+ }
+ return component;
+ }
+
+}
diff --git a/src/bitronix/tm/gui/TransactionTableModel.java b/src/bitronix/tm/gui/TransactionTableModel.java
new file mode 100644
index 0000000..4a7979d
--- /dev/null
+++ b/src/bitronix/tm/gui/TransactionTableModel.java
@@ -0,0 +1,70 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.gui;
+
+import bitronix.tm.journal.TransactionLogCursor;
+import bitronix.tm.journal.TransactionLogRecord;
+import org.slf4j.LoggerFactory;
+import org.slf4j.Logger;
+
+import javax.swing.table.TableModel;
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p></p>
+ *
+ * @author lorban
+ */
+public abstract class TransactionTableModel implements TableModel {
+
+ private final static Logger log = LoggerFactory.getLogger(TransactionTableModel.class);
+
+ protected List tLogs = new ArrayList();
+
+ protected void readFullTransactionLog(File filename) throws IOException {
+ TransactionLogCursor tlis = new TransactionLogCursor(filename);
+
+ int count=0;
+ try {
+ while (true) {
+ TransactionLogRecord tlog = tlis.readLog(true);
+ if (tlog == null)
+ break;
+ if (!acceptLog(tlog))
+ continue;
+ tLogs.add(tlog);
+ count++;
+ }
+ }
+ finally {
+ tlis.close();
+ if (log.isDebugEnabled()) log.debug("read " + count + " transaction logs");
+ }
+ }
+
+ public abstract boolean acceptLog(TransactionLogRecord tlog);
+
+ public abstract TransactionLogRecord getRow(int row);
+
+}
diff --git a/src/bitronix/tm/gui/TransactionTableMouseListener.java b/src/bitronix/tm/gui/TransactionTableMouseListener.java
new file mode 100644
index 0000000..6d5f362
--- /dev/null
+++ b/src/bitronix/tm/gui/TransactionTableMouseListener.java
@@ -0,0 +1,54 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.gui;
+
+import bitronix.tm.journal.TransactionLogRecord;
+
+import javax.swing.*;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+
+/**
+ * <p></p>
+ *
+ * @author lorban
+ */
+public class TransactionTableMouseListener extends MouseAdapter {
+
+ private JFrame frame;
+ private JTable table;
+
+ public TransactionTableMouseListener(JFrame frame, JTable table) {
+ this.frame = frame;
+ this.table = table;
+ }
+
+ public void mouseClicked(MouseEvent evt) {
+ if (evt.getClickCount() == 2) {
+ showDetails();
+ }
+ }
+
+ private void showDetails() {
+ TransactionLogRecord tlog = ((TransactionTableModel)table.getModel()).getRow(table.getSelectedRow());
+ new TransactionLogDialog(frame, tlog).setVisible(true);
+ }
+}
diff --git a/src/bitronix/tm/gui/package.html b/src/bitronix/tm/gui/package.html
new file mode 100644
index 0000000..28247d9
--- /dev/null
+++ b/src/bitronix/tm/gui/package.html
@@ -0,0 +1,7 @@
+<html>
+<body>
+ <p>
+ GUI admin console.
+ </p>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/bitronix/tm/internal/BitronixHeuristicCommitException.java b/src/bitronix/tm/internal/BitronixHeuristicCommitException.java
new file mode 100644
index 0000000..9eebeaf
--- /dev/null
+++ b/src/bitronix/tm/internal/BitronixHeuristicCommitException.java
@@ -0,0 +1,41 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.internal;
+
+import javax.transaction.HeuristicCommitException;
+
+/**
+ * Subclass of {@link javax.transaction.HeuristicCommitException} supporting nested {@link Throwable}s.
+ *
+ * @author lorban
+ */
+public class BitronixHeuristicCommitException extends HeuristicCommitException {
+
+ public BitronixHeuristicCommitException(String string) {
+ super(string);
+ }
+
+ public BitronixHeuristicCommitException(String string, Throwable t) {
+ super(string);
+ initCause(t);
+ }
+
+}
diff --git a/src/bitronix/tm/internal/BitronixHeuristicMixedException.java b/src/bitronix/tm/internal/BitronixHeuristicMixedException.java
new file mode 100644
index 0000000..4ecb03a
--- /dev/null
+++ b/src/bitronix/tm/internal/BitronixHeuristicMixedException.java
@@ -0,0 +1,41 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.internal;
+
+import javax.transaction.HeuristicMixedException;
+
+/**
+ * Subclass of {@link javax.transaction.HeuristicMixedException} supporting nested {@link Throwable}s.
+ *
+ * @author lorban
+ */
+public class BitronixHeuristicMixedException extends HeuristicMixedException {
+
+ public BitronixHeuristicMixedException(String string) {
+ super(string);
+ }
+
+ public BitronixHeuristicMixedException(String string, Throwable t) {
+ super(string);
+ initCause(t);
+ }
+
+}
diff --git a/src/bitronix/tm/internal/BitronixHeuristicRollbackException.java b/src/bitronix/tm/internal/BitronixHeuristicRollbackException.java
new file mode 100644
index 0000000..e70b9bb
--- /dev/null
+++ b/src/bitronix/tm/internal/BitronixHeuristicRollbackException.java
@@ -0,0 +1,41 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.internal;
+
+import javax.transaction.HeuristicRollbackException;
+
+/**
+ * Subclass of {@link javax.transaction.HeuristicRollbackException} supporting nested {@link Throwable}s.
+ *
+ * @author lorban
+ */
+public class BitronixHeuristicRollbackException extends HeuristicRollbackException {
+
+ public BitronixHeuristicRollbackException(String string) {
+ super(string);
+ }
+
+ public BitronixHeuristicRollbackException(String string, Throwable t) {
+ super(string);
+ initCause(t);
+ }
+
+}
diff --git a/src/bitronix/tm/internal/BitronixMultiSystemException.java b/src/bitronix/tm/internal/BitronixMultiSystemException.java
new file mode 100644
index 0000000..8f95b60
--- /dev/null
+++ b/src/bitronix/tm/internal/BitronixMultiSystemException.java
@@ -0,0 +1,104 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.internal;
+
+import bitronix.tm.utils.Decoder;
+
+import javax.transaction.SystemException;
+import javax.transaction.xa.XAException;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Subclass of {@link javax.transaction.SystemException} supporting nested {@link Throwable}s.
+ *
+ * @author lorban
+ */
+public class BitronixMultiSystemException extends BitronixSystemException {
+
+ private List exceptions = new ArrayList();
+ private List resourceStates = new ArrayList();
+
+ public BitronixMultiSystemException(String string, List exceptions, List resourceStates) {
+ super(string);
+ this.exceptions = exceptions;
+ this.resourceStates = resourceStates;
+ }
+
+ public String getMessage() {
+ StringBuffer errorMessage = new StringBuffer();
+ errorMessage.append("collected ");
+ errorMessage.append(exceptions.size());
+ errorMessage.append(" exception(s):");
+ for (int i = 0; i < exceptions.size(); i++) {
+ errorMessage.append(System.getProperty("line.separator"));
+ Throwable throwable = (Throwable) exceptions.get(i);
+ String message = throwable.getMessage();
+ XAResourceHolderState holderState = (XAResourceHolderState) resourceStates.get(i);
+
+ if (holderState != null) {
+ errorMessage.append(" [");
+ errorMessage.append(holderState.getUniqueName());
+ errorMessage.append(" - ");
+ }
+ errorMessage.append(throwable.getClass().getName());
+ if (throwable instanceof XAException) {
+ XAException xaEx = (XAException) throwable;
+ errorMessage.append("(");
+ errorMessage.append(Decoder.decodeXAExceptionErrorCode(xaEx));
+ errorMessage.append(")");
+ }
+ errorMessage.append(" - ");
+ errorMessage.append(message);
+ errorMessage.append("]");
+ }
+
+ return errorMessage.toString();
+ }
+
+ public boolean isUnilateralRollback() {
+ for (int i = 0; i < exceptions.size(); i++) {
+ Throwable throwable = (Throwable) exceptions.get(i);
+ if (!(throwable instanceof BitronixRollbackSystemException))
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Get the list of exceptions that have been thrown during execution.
+ * @return the list of exceptions that have been thrown during execution.
+ */
+ public List getExceptions() {
+ return exceptions;
+ }
+
+ /**
+ * Get the list of XAResourceHolderStates which threw an exception during execution.
+ * This list always contains exactly one resource per exception present in {@link #getExceptions} list.
+ * Indices of both list always match a resource against the exception it threw.
+ * @return the list of resource which threw an exception during execution.
+ */
+ public List getResourceStates() {
+ return resourceStates;
+ }
+
+}
diff --git a/src/bitronix/tm/internal/BitronixRollbackException.java b/src/bitronix/tm/internal/BitronixRollbackException.java
new file mode 100644
index 0000000..59ac867
--- /dev/null
+++ b/src/bitronix/tm/internal/BitronixRollbackException.java
@@ -0,0 +1,41 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.internal;
+
+import javax.transaction.RollbackException;
+
+/**
+ * Subclass of {@link javax.transaction.RollbackException} supporting nested {@link Throwable}s.
+ *
+ * @author lorban
+ */
+public class BitronixRollbackException extends RollbackException {
+
+ public BitronixRollbackException(String string) {
+ super(string);
+ }
+
+ public BitronixRollbackException(String string, Throwable t) {
+ super(string);
+ initCause(t);
+ }
+
+}
diff --git a/src/bitronix/tm/internal/BitronixRollbackSystemException.java b/src/bitronix/tm/internal/BitronixRollbackSystemException.java
new file mode 100644
index 0000000..22a271d
--- /dev/null
+++ b/src/bitronix/tm/internal/BitronixRollbackSystemException.java
@@ -0,0 +1,35 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.internal;
+
+/**
+ * Subclass of {@link javax.transaction.SystemException} indicating a rollback must be performed.
+ * This exception is used to handle unilateral rollback of resources during delistement.
+ *
+ * @author lorban
+ */
+public class BitronixRollbackSystemException extends BitronixSystemException {
+
+ public BitronixRollbackSystemException(String string, Throwable t) {
+ super(string, t);
+ }
+
+}
diff --git a/src/bitronix/tm/internal/BitronixRuntimeException.java b/src/bitronix/tm/internal/BitronixRuntimeException.java
new file mode 100644
index 0000000..3e5ec6d
--- /dev/null
+++ b/src/bitronix/tm/internal/BitronixRuntimeException.java
@@ -0,0 +1,35 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.internal;
+
+/**
+ * Thrown when a runtime exception happens.
+ *
+ * @author lorban
+ */
+public class BitronixRuntimeException extends RuntimeException {
+ public BitronixRuntimeException(String message, Throwable cause) {
+ super(message, cause);
+ }
+ public BitronixRuntimeException(String message) {
+ super(message);
+ }
+}
diff --git a/src/bitronix/tm/internal/BitronixSystemException.java b/src/bitronix/tm/internal/BitronixSystemException.java
new file mode 100644
index 0000000..a91bc8f
--- /dev/null
+++ b/src/bitronix/tm/internal/BitronixSystemException.java
@@ -0,0 +1,45 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.internal;
+
+import javax.transaction.SystemException;
+
+/**
+ * Subclass of {@link javax.transaction.SystemException} supporting nested {@link Throwable}s.
+ *
+ * @author lorban
+ */
+public class BitronixSystemException extends SystemException {
+
+ public BitronixSystemException(int errorCode) {
+ super(errorCode);
+ }
+
+ public BitronixSystemException(String string) {
+ super(string);
+ }
+
+ public BitronixSystemException(String string, Throwable t) {
+ super(string);
+ initCause(t);
+ }
+
+}
diff --git a/src/bitronix/tm/internal/BitronixXAException.java b/src/bitronix/tm/internal/BitronixXAException.java
new file mode 100644
index 0000000..e8456e4
--- /dev/null
+++ b/src/bitronix/tm/internal/BitronixXAException.java
@@ -0,0 +1,47 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.internal;
+
+import javax.transaction.xa.XAException;
+
+/**
+ * Subclass of {@link javax.transaction.xa.XAException} supporting nested {@link Throwable}s.
+ *
+ * @author lorban
+ */
+public class BitronixXAException extends XAException {
+
+ public BitronixXAException(String message, int errorCode) {
+ super(message);
+ this.errorCode = errorCode;
+ }
+
+ public BitronixXAException(String message, int errorCode, Throwable t) {
+ super(message);
+ this.errorCode = errorCode;
+ initCause(t);
+ }
+
+ public static boolean isUnilateralRollback(XAException ex) {
+ return (ex.errorCode >= XAException.XA_RBBASE && ex.errorCode <= XAException.XA_RBEND) || ex.errorCode == XAException.XAER_NOTA;
+ }
+
+}
diff --git a/src/bitronix/tm/internal/ThreadContext.java b/src/bitronix/tm/internal/ThreadContext.java
new file mode 100644
index 0000000..795bc12
--- /dev/null
+++ b/src/bitronix/tm/internal/ThreadContext.java
@@ -0,0 +1,92 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.internal;
+
+import bitronix.tm.BitronixTransaction;
+import bitronix.tm.TransactionManagerServices;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Transactional context of a thread. It contains both the active transaction (if any) and all default parameters
+ * that a transaction running on a thread must inherit.
+ *
+ * @author lorban
+ */
+public class ThreadContext {
+
+ private final static Logger log = LoggerFactory.getLogger(ThreadContext.class);
+
+ private BitronixTransaction transaction;
+ private int timeout = TransactionManagerServices.getConfiguration().getDefaultTransactionTimeout();
+
+ /**
+ * Return the transaction linked with this thread context.
+ * @return the transaction linked to this thread context or null if there is none.
+ */
+ public BitronixTransaction getTransaction() {
+ return transaction;
+ }
+
+ /**
+ * Link a transaction with this thead context.
+ * @param transaction the transaction to link.
+ */
+ public void setTransaction(BitronixTransaction transaction) {
+ if (transaction == null)
+ throw new IllegalArgumentException("transaction parameter cannot be null");
+ if (log.isDebugEnabled()) log.debug("assigning <" + transaction + "> to <" + this + ">");
+ this.transaction = transaction;
+ }
+
+ /**
+ * Return this context's default timeout.
+ * @return this context's default timeout.
+ */
+ public int getTimeout() {
+ return timeout;
+ }
+
+ /**
+ * Set this context's default timeout. All transactions started by the thread linked to this context will get
+ * this value as their default timeout.
+ * @param timeout the new default timeout value in seconds.
+ */
+ public void setTimeout(int timeout) {
+ if (timeout == 0) {
+ int defaultValue = TransactionManagerServices.getConfiguration().getDefaultTransactionTimeout();
+ if (log.isDebugEnabled()) log.debug("resetting default timeout of thread context to default value of " + defaultValue + "s");
+ this.timeout = defaultValue;
+ }
+ else {
+ if (log.isDebugEnabled()) log.debug("changing default timeout of thread context to " + timeout + "s");
+ this.timeout = timeout;
+ }
+ }
+
+ /**
+ * Return a human-readable representation.
+ * @return a human-readable representation.
+ */
+ public String toString() {
+ return "a ThreadContext with transaction " + transaction + ", default timeout " + timeout + "s";
+ }
+}
diff --git a/src/bitronix/tm/internal/TransactionStatusChangeListener.java b/src/bitronix/tm/internal/TransactionStatusChangeListener.java
new file mode 100644
index 0000000..a8e649b
--- /dev/null
+++ b/src/bitronix/tm/internal/TransactionStatusChangeListener.java
@@ -0,0 +1,38 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.internal;
+
+/**
+ * {@link bitronix.tm.BitronixTransaction} status change listener interface.
+ *
+ * @author lorban
+ */
+public interface TransactionStatusChangeListener {
+
+ /**
+ * Fired when the status of a {@link bitronix.tm.BitronixTransaction} has changed.
+ * @param oldStatus the old status of the {@link bitronix.tm.BitronixTransaction}.
+ * @param newStatus the new status of the {@link bitronix.tm.BitronixTransaction}.
+ * @see javax.transaction.Status Status constant values.
+ */
+ public void statusChanged(int oldStatus, int newStatus);
+
+}
diff --git a/src/bitronix/tm/internal/TransactionTimeoutException.java b/src/bitronix/tm/internal/TransactionTimeoutException.java
new file mode 100644
index 0000000..45956d8
--- /dev/null
+++ b/src/bitronix/tm/internal/TransactionTimeoutException.java
@@ -0,0 +1,36 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.internal;
+
+/**
+ * Thrown when a transaction times out.
+ *
+ * @author lorban
+ */
+public class TransactionTimeoutException extends Exception {
+ public TransactionTimeoutException(String message) {
+ super(message);
+ }
+
+ public TransactionTimeoutException(String message, Throwable cause) {
+ super(message, cause);
+ }
+}
diff --git a/src/bitronix/tm/internal/XAResourceHolderState.java b/src/bitronix/tm/internal/XAResourceHolderState.java
new file mode 100644
index 0000000..23ad738
--- /dev/null
+++ b/src/bitronix/tm/internal/XAResourceHolderState.java
@@ -0,0 +1,256 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.internal;
+
+import bitronix.tm.resource.common.ResourceBean;
+import bitronix.tm.resource.common.XAResourceHolder;
+import bitronix.tm.BitronixXid;
+import bitronix.tm.utils.Decoder;
+import org.slf4j.LoggerFactory;
+import org.slf4j.Logger;
+
+import javax.transaction.xa.XAException;
+import javax.transaction.xa.XAResource;
+import java.util.Date;
+
+/**
+ * {@link XAResourceHolder} state container.
+ * Instances are kept in the transaction and bound to / unbound from the {@link XAResourceHolder} as the
+ * resource participates in different transactions. A {@link XAResourceHolder} without {@link XAResourceHolderState}
+ * is considered to be in local transaction mode.
+ * <p>Objects of this class also expose resource specific configuration like the unique resource name.</p>
+ * <p>The {@link XAResource} state during a transaction participation is also contained: assigned XID, transaction
+ * start / end state...</p>
+ * <p>There is exactly one {@link XAResourceHolderState} object per {@link XAResourceHolder} per
+ * {@link javax.transaction.Transaction}.</p>
+ *
+ * @see bitronix.tm.resource.common.ResourceBean
+ * @author lorban
+ */
+public class XAResourceHolderState {
+
+ private final static Logger log = LoggerFactory.getLogger(XAResourceHolderState.class);
+
+ private ResourceBean bean;
+ private BitronixXid xid;
+ private XAResourceHolder xaResourceHolder;
+ private boolean started;
+ private boolean ended;
+ private boolean suspended;
+ private Date transactionTimeoutDate;
+ private boolean isTimeoutAlreadySet;
+ private boolean failed;
+
+ public XAResourceHolderState(XAResourceHolder resourceHolder, ResourceBean bean) {
+ this.bean = bean;
+ this.xaResourceHolder = resourceHolder;
+
+ started = false;
+ ended = false;
+ suspended = false;
+ isTimeoutAlreadySet = false;
+ xid = null;
+ }
+
+ public XAResourceHolderState(XAResourceHolderState resourceHolderState) {
+ this.bean = resourceHolderState.bean;
+ this.xaResourceHolder = resourceHolderState.xaResourceHolder;
+
+ started = false;
+ ended = false;
+ suspended = false;
+ isTimeoutAlreadySet = false;
+ xid = null;
+ }
+
+ public BitronixXid getXid() {
+ return xid;
+ }
+
+ public void setXid(BitronixXid xid) throws BitronixSystemException {
+ if (log.isDebugEnabled()) log.debug("assigning <" + xid + "> to <" + this + ">");
+ if (this.xid != null && !xid.equals(this.xid))
+ throw new BitronixSystemException("a XID has already been assigned to " + this);
+ this.xid = xid;
+ }
+
+ public XAResource getXAResource() {
+ return xaResourceHolder.getXAResource();
+ }
+
+ public XAResourceHolder getXAResourceHolder() {
+ return xaResourceHolder;
+ }
+
+ public Date getTransactionTimeoutDate() {
+ return transactionTimeoutDate;
+ }
+
+ public void setTransactionTimeoutDate(Date transactionTimeoutDate) {
+ this.transactionTimeoutDate = transactionTimeoutDate;
+ }
+
+ public String getUniqueName() {
+ return bean.getUniqueName();
+ }
+
+ public boolean getUseTmJoin() {
+ return bean.getUseTmJoin();
+ }
+
+ public int getTwoPcOrderingPosition() {
+ return bean.getTwoPcOrderingPosition();
+ }
+
+ public boolean getIgnoreRecoveryFailures() {
+ return bean.getIgnoreRecoveryFailures();
+ }
+
+ public boolean isEnded() {
+ return ended;
+ }
+
+ public boolean isStarted() {
+ return started;
+ }
+
+ public boolean isSuspended() {
+ return suspended;
+ }
+
+ public boolean isFailed() {
+ return failed;
+ }
+
+ public void end(int flags) throws XAException {
+ boolean ended = this.ended;
+ boolean suspended = this.suspended;
+
+ if (this.ended && (flags == XAResource.TMSUSPEND)) {
+ if (log.isDebugEnabled()) log.debug("resource already ended, changing state to suspended: " + this);
+ this.suspended = true;
+ return;
+ }
+
+ if (this.ended)
+ throw new BitronixXAException("resource already ended: " + this, XAException.XAER_PROTO);
+
+ if (flags == XAResource.TMSUSPEND) {
+ if (!this.started)
+ throw new BitronixXAException("resource hasn't been started, cannot suspend it: " + this, XAException.XAER_PROTO);
+ if (this.suspended)
+ throw new BitronixXAException("resource already suspended: " + this, XAException.XAER_PROTO);
+
+ if (log.isDebugEnabled()) log.debug("suspending " + this + " with " + Decoder.decodeXAResourceFlag(flags));
+ suspended = true;
+ }
+ else {
+ if (log.isDebugEnabled()) log.debug("ending " + this + " with " + Decoder.decodeXAResourceFlag(flags));
+ ended = true;
+ }
+
+ try {
+ getXAResource().end(xid, flags);
+ if (log.isDebugEnabled()) log.debug("ended " + this + " with " + Decoder.decodeXAResourceFlag(flags));
+ } catch(XAException ex) {
+ // could mean failed or unilaterally rolled back
+ failed = true;
+ throw ex;
+ } finally {
+ this.suspended = suspended;
+ this.ended = ended;
+ this.started = false;
+ }
+ }
+
+ public void start(int flags) throws XAException {
+ boolean suspended = this.suspended;
+ boolean started = this.started;
+
+ if (this.ended && (flags == XAResource.TMRESUME)) {
+ if (log.isDebugEnabled()) log.debug("resource already ended, changing state to resumed: " + this);
+ this.suspended = false;
+ return;
+ }
+
+ if (flags == XAResource.TMRESUME) {
+ if (!this.suspended)
+ throw new BitronixXAException("resource hasn't been suspended, cannot resume it: " + this, XAException.XAER_PROTO);
+ if (!this.started)
+ throw new BitronixXAException("resource hasn't been started, cannot resume it: " + this, XAException.XAER_PROTO);
+
+ if (log.isDebugEnabled()) log.debug("resuming " + this + " with " + Decoder.decodeXAResourceFlag(flags));
+ suspended = false;
+ }
+ else {
+ if (this.started)
+ throw new BitronixXAException("resource already started: " + this, XAException.XAER_PROTO);
+
+ if (log.isDebugEnabled()) log.debug("starting " + this + " with " + Decoder.decodeXAResourceFlag(flags));
+ started = true;
+ }
+
+ if (!isTimeoutAlreadySet && transactionTimeoutDate != null && bean.getApplyTransactionTimeout()) {
+ int timeoutInSeconds = (int) ((transactionTimeoutDate.getTime() - System.currentTimeMillis() + 999L) / 1000L);
+ timeoutInSeconds = Math.max(1, timeoutInSeconds); // setting a timeout of 0 means resetting -> set it to at least 1
+ if (log.isDebugEnabled()) log.debug("applying resource timeout of " + timeoutInSeconds + "s on " + this);
+ getXAResource().setTransactionTimeout(timeoutInSeconds);
+ isTimeoutAlreadySet = true;
+ }
+
+ getXAResource().start(xid, flags);
+ this.suspended = suspended;
+ this.started = started;
+ this.ended = false;
+ if (log.isDebugEnabled()) log.debug("started " + this + " with " + Decoder.decodeXAResourceFlag(flags));
+ }
+
+ public int hashCode() {
+ return 17 * (bean.hashCode() + xid.hashCode());
+ }
+
+ public boolean equals(Object obj) {
+ if (!(obj instanceof XAResourceHolderState))
+ return false;
+
+ XAResourceHolderState other = (XAResourceHolderState) obj;
+ return equals(other.bean, bean) && equals(other.xid, xid);
+ }
+
+ private boolean equals(Object obj1, Object obj2) {
+ if (obj1 == obj2)
+ return true;
+ if (obj1 == null || obj2 == null)
+ return false;
+
+ return obj1.equals(obj2);
+ }
+
+ public String toString() {
+ return "an XAResourceHolderState with uniqueName=" + bean.getUniqueName() +
+ " XAResource=" + getXAResource() +
+ (started ? " (started)":"") +
+ (ended ? " (ended)":"") +
+ (suspended ? " (suspended)":"") +
+ " with XID " + xid;
+ }
+
+}
diff --git a/src/bitronix/tm/internal/XAResourceManager.java b/src/bitronix/tm/internal/XAResourceManager.java
new file mode 100644
index 0000000..44ae3ba
--- /dev/null
+++ b/src/bitronix/tm/internal/XAResourceManager.java
@@ -0,0 +1,327 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.internal;
+
+import bitronix.tm.BitronixXid;
+import bitronix.tm.TransactionManagerServices;
+import bitronix.tm.resource.common.XAResourceHolder;
+import bitronix.tm.utils.Scheduler;
+import bitronix.tm.utils.Uid;
+import bitronix.tm.utils.UidGenerator;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.transaction.xa.XAException;
+import javax.transaction.xa.XAResource;
+import java.util.*;
+
+/**
+ * Every {@link bitronix.tm.BitronixTransaction} contains an instance of this class that is used to register
+ * and keep track of resources enlisted in a transaction.
+ *
+ * @author lorban
+ */
+public class XAResourceManager {
+
+ private final static Logger log = LoggerFactory.getLogger(XAResourceManager.class);
+
+ private Uid gtrid;
+ private Scheduler resources = new Scheduler();
+
+ /**
+ * Create a resource manager for the specified GTRID.
+ * @param gtrid the transaction's GTRID this XAResourceManager will be assigned to.
+ */
+ public XAResourceManager(Uid gtrid) {
+ this.gtrid = gtrid;
+ }
+
+ /**
+ * Enlist the specified {@link XAResourceHolderState}. A XID is generated and the resource is started with
+ * XAResource.TMNOFLAGS or XAResource.TMJOIN if it could be joined with another previously enlisted one.
+ * <br/>
+ * There are 3 different cases that can happen when a {@link XAResourceHolderState} is enlisted:
+ * <ul>
+ * <li>already enlisted and not ended: do nothing</li>
+ * <li>already enlisted and ended: try to join. if you can join, keep a reference on the passed-in
+ * {@link XAResourceHolderState} and drop the previous one. if you cannot join, it's the same as case 3</li>
+ * <li>not enlisted: create a new branch and keep a reference on the passed-in {@link XAResourceHolderState}</li>
+ * </ul>
+ *
+ * @param xaResourceHolderState the {@link XAResourceHolderState} to be enlisted.
+ * @throws XAException if a resource error occured.
+ * @throws BitronixSystemException if an internal error occured.
+ */
+ public void enlist(XAResourceHolderState xaResourceHolderState) throws XAException, BitronixSystemException {
+ XAResourceHolderState alreadyEnlistedHolder = findXAResourceHolderState(xaResourceHolderState.getXAResource());
+ if (alreadyEnlistedHolder != null && !alreadyEnlistedHolder.isEnded()) {
+ xaResourceHolderState.setXid(alreadyEnlistedHolder.getXid());
+ log.warn("ignoring enlistment of already enlisted but not ended resource " + xaResourceHolderState);
+ return;
+ }
+
+ XAResourceHolderState toBeJoinedHolderState = null;
+ if (alreadyEnlistedHolder != null) {
+ if (log.isDebugEnabled()) log.debug("resource already enlisted but has been ended eligible for join: " + alreadyEnlistedHolder);
+ toBeJoinedHolderState = getManagedResourceWithSameRM(xaResourceHolderState);
+ }
+
+ BitronixXid xid;
+ int flag;
+
+ if (toBeJoinedHolderState != null) {
+ if (log.isDebugEnabled()) log.debug("joining " + xaResourceHolderState + " with " + toBeJoinedHolderState);
+ xid = toBeJoinedHolderState.getXid();
+ flag = XAResource.TMJOIN;
+ }
+ else {
+ xid = UidGenerator.generateXid(gtrid);
+ if (log.isDebugEnabled()) log.debug("creating new branch with " + xid);
+ flag = XAResource.TMNOFLAGS;
+ }
+
+ // check for enlistment of a 2nd LRC resource, forbid this if the 2nd resource cannot be joined with the 1st one
+ // unless this is explicitly allowed in the config
+ if (flag != XAResource.TMJOIN && xaResourceHolderState.getTwoPcOrderingPosition() == Scheduler.ALWAYS_LAST_POSITION &&
+ !TransactionManagerServices.getConfiguration().isAllowMultipleLrc()) {
+ List alwaysLastResources = resources.getByNaturalOrderForPosition(Scheduler.ALWAYS_LAST_POSITION_KEY);
+ if (alwaysLastResources != null && !alwaysLastResources.isEmpty())
+ throw new BitronixSystemException("cannot enlist more than one non-XA resource, tried enlisting " + xaResourceHolderState + ", already enlisted: " + alwaysLastResources.get(0));
+ }
+
+ xaResourceHolderState.setXid(xid);
+ xaResourceHolderState.start(flag);
+
+
+ // in case of a JOIN, the resource holder is already in the scheduler -> do not add it twice
+ if (toBeJoinedHolderState != null) {
+ resources.remove(toBeJoinedHolderState);
+ }
+ // this must be done only after start() successfully returned
+ resources.add(xaResourceHolderState, xaResourceHolderState.getTwoPcOrderingPosition());
+ }
+
+ /**
+ * Delist the specified {@link XAResourceHolderState}. A reference to the resource is kept anyway.
+ * @param xaResourceHolderState the {@link XAResourceHolderState} to be delisted.
+ * @param flag the delistment flag.
+ * @return true if the resource could be delisted, false otherwise.
+ * @throws XAException if the resource threw an exception during delistment.
+ * @throws BitronixSystemException if an internal error occured.
+ */
+ public boolean delist(XAResourceHolderState xaResourceHolderState, int flag) throws XAException, BitronixSystemException {
+ if (findXAResourceHolderState(xaResourceHolderState.getXAResource()) != null) {
+ if (log.isDebugEnabled()) log.debug("delisting resource " + xaResourceHolderState);
+ xaResourceHolderState.end(flag);
+ return true;
+ }
+
+ log.warn("trying to delist resource that has not been previously enlisted: " + xaResourceHolderState);
+ return false;
+ }
+
+ /**
+ * Suspend all enlisted resources from the current transaction context.
+ * @throws XAException if the resource threw an exception during suspend.
+ */
+ public void suspend() throws XAException {
+ Iterator it = resources.iterator();
+ while (it.hasNext()) {
+ XAResourceHolderState xaResourceHolderState = (XAResourceHolderState) it.next();
+ if (!xaResourceHolderState.isEnded()) {
+ if (log.isDebugEnabled()) log.debug("suspending " + xaResourceHolderState);
+ xaResourceHolderState.end(XAResource.TMSUCCESS);
+ }
+ } // while
+ }
+
+ /**
+ * Resume all enlisted resources in the current transaction context.
+ * @throws XAException if the resource threw an exception during resume.
+ */
+ public void resume() throws XAException {
+ // all XAResource needs to be re-enlisted but this must happen
+ // outside the Schduler's iteration as enlist() can change the
+ // collection's content and confuse the iterator.
+ List toBeReEnlisted = new ArrayList();
+
+ Iterator it = resources.iterator();
+ while (it.hasNext()) {
+ XAResourceHolderState xaResourceHolderState = (XAResourceHolderState) it.next();
+ if (log.isDebugEnabled()) log.debug("resuming " + xaResourceHolderState);
+
+ // If a prepared statement is (re-)used after suspend/resume is performed its XAResource needs to be
+ // re-enlisted. This must be done outside this loop or that will confuse the iterator!
+ toBeReEnlisted.add(new XAResourceHolderState(xaResourceHolderState));
+ }
+
+ if (toBeReEnlisted.size() > 0 && log.isDebugEnabled()) log.debug("re-enlisting " + toBeReEnlisted.size() + " resource(s)");
+ for (int i = 0; i < toBeReEnlisted.size(); i++) {
+ XAResourceHolderState xaResourceHolderState = (XAResourceHolderState) toBeReEnlisted.get(i);
+
+ if (log.isDebugEnabled()) log.debug("re-enlisting resource " + xaResourceHolderState);
+ try {
+ enlist(xaResourceHolderState);
+ xaResourceHolderState.getXAResourceHolder().putXAResourceHolderState(xaResourceHolderState.getXid(), xaResourceHolderState);
+ } catch (BitronixSystemException ex) {
+ throw new BitronixXAException("error re-enlisting resource during resume: " + xaResourceHolderState, XAException.XAER_RMERR, ex);
+ }
+ }
+ }
+
+ /**
+ * Look if an {@link XAResource} has already been enlisted.
+ * @param xaResource the {@link XAResource} to look for.
+ * @return the {@link XAResourceHolderState} of the enlisted resource or null if the {@link XAResource} has not
+ * been enlisted in this {@link XAResourceManager}.
+ * @throws BitronixSystemException if an internal error happens.
+ */
+ public XAResourceHolderState findXAResourceHolderState(XAResource xaResource) throws BitronixSystemException {
+ Iterator it = resources.iterator();
+ while (it.hasNext()) {
+ XAResourceHolderState xaResourceHolderState = (XAResourceHolderState) it.next();
+
+ if (xaResourceHolderState.getXAResource() == xaResource)
+ return xaResourceHolderState;
+ }
+
+ return null;
+ }
+
+ /**
+ * Search for an eventually already enlisted {@link XAResourceHolderState} that could be joined with the
+ * {@link XAResourceHolderState} passed as parameter.<br/>
+ * If datasource configuration property <code>bitronix.useTmJoin=false</code> is set this method always returns null.
+ * @param xaResourceHolderState a {@link XAResourceHolderState} looking to be joined.
+ * @return another enlisted {@link XAResourceHolderState} that can be joined with the one passed in or null if none is found.
+ * @throws XAException if call to XAResource.isSameRM() fails.
+ */
+ private XAResourceHolderState getManagedResourceWithSameRM(XAResourceHolderState xaResourceHolderState) throws XAException {
+ if (!xaResourceHolderState.getUseTmJoin()) {
+ if (log.isDebugEnabled()) log.debug("join disabled on resource " + xaResourceHolderState);
+ return null;
+ }
+
+ Iterator it = resources.iterator();
+ while (it.hasNext()) {
+ XAResourceHolderState alreadyEnlistedHolderState = (XAResourceHolderState) it.next();
+
+ if (log.isDebugEnabled()) log.debug("checking joinability of " + xaResourceHolderState + " with " + alreadyEnlistedHolderState);
+ if ( alreadyEnlistedHolderState.isEnded() &&
+ !alreadyEnlistedHolderState.isSuspended() &&
+ xaResourceHolderState.getXAResource().isSameRM(alreadyEnlistedHolderState.getXAResource()) ) {
+ if (log.isDebugEnabled()) log.debug("resources are joinable");
+ return alreadyEnlistedHolderState;
+ }
+ if (log.isDebugEnabled()) log.debug("resources are not joinable");
+ }
+
+ if (log.isDebugEnabled()) log.debug("no joinable resource found for " + xaResourceHolderState);
+ return null;
+ }
+
+ /**
+ * Remove this transaction's {@link XAResourceHolderState} from all enlisted
+ * {@link bitronix.tm.resource.common.XAResourceHolder}s.
+ */
+ public void clearXAResourceHolderStates() {
+ if (log.isDebugEnabled()) log.debug("clearing XAResourceHolder states on " + resources.size() + " resource(s)");
+ Iterator it = resources.iterator();
+ while (it.hasNext()) {
+ XAResourceHolderState xaResourceHolderState = (XAResourceHolderState) it.next();
+ XAResourceHolder resourceHolder = xaResourceHolderState.getXAResourceHolder();
+
+ // clear out the current state
+ resourceHolder.removeXAResourceHolderState(xaResourceHolderState.getXid());
+
+ Map statesForGtrid = resourceHolder.getXAResourceHolderStatesForGtrid(gtrid);
+ if (statesForGtrid != null) log.warn("resource " + resourceHolder + " did not clean up " + statesForGtrid.size() + "transaction states for GTRID [" + gtrid + "]");
+ else if (log.isDebugEnabled()) log.debug("resource " + resourceHolder + " cleaned up all transaction states for GTRID [" + gtrid + "]");
+
+ it.remove();
+ }
+ }
+
+ /**
+ * Get a {@link Set} of unique names of all the enlisted {@link XAResourceHolderState}s.
+ * @return a {@link Set} of unique names of all the enlisted {@link XAResourceHolderState}s.
+ */
+ public Set collectUniqueNames() {
+ Set names = new HashSet();
+ Iterator it = resources.iterator();
+ while (it.hasNext()) {
+ XAResourceHolderState xaResourceHolderState = (XAResourceHolderState) it.next();
+ names.add(xaResourceHolderState.getUniqueName());
+ }
+ return names;
+ }
+
+ public SortedSet getNaturalOrderPositions() {
+ return resources.getNaturalOrderPositions();
+ }
+
+ public SortedSet getReverseOrderPositions() {
+ return resources.getReverseOrderPositions();
+ }
+
+ public List getNaturalOrderResourcesForPosition(Object positionKey) {
+ return resources.getByNaturalOrderForPosition(positionKey);
+ }
+
+ public List getReverseOrderResourcesForPosition(Object positionKey) {
+ return resources.getByReverseOrderForPosition(positionKey);
+ }
+
+ public List getAllResources() {
+ List result = new ArrayList();
+ Iterator it = resources.getNaturalOrderPositions().iterator();
+ while (it.hasNext()) {
+ Object positionKey = it.next();
+ result.addAll(resources.getByNaturalOrderForPosition(positionKey));
+ }
+ return result;
+ }
+
+ /**
+ * Get the enlisted resources count.
+ * @return the enlisted resources count.
+ */
+ public int size() {
+ return resources.size();
+ }
+
+ /**
+ * Get the GTRID of the transaction the {@link XAResourceManager} instance is attached to.
+ * @return the GTRID of the transaction the {@link XAResourceManager} instance is attached to.
+ */
+ public Uid getGtrid() {
+ return gtrid;
+ }
+
+ /**
+ * Return a human-readable representation of this object.
+ * @return a human-readable representation of this object.
+ */
+ public String toString() {
+ return "a XAResourceManager with GTRID [" + gtrid + "] and " + resources;
+ }
+
+}
diff --git a/src/bitronix/tm/internal/package.html b/src/bitronix/tm/internal/package.html
new file mode 100644
index 0000000..933a36d
--- /dev/null
+++ b/src/bitronix/tm/internal/package.html
@@ -0,0 +1,7 @@
+<html>
+<body>
+ <p>
+ Internal implementation details.
+ </p>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/bitronix/tm/jndi/BitronixContext.java b/src/bitronix/tm/jndi/BitronixContext.java
new file mode 100644
index 0000000..18e46e1
--- /dev/null
+++ b/src/bitronix/tm/jndi/BitronixContext.java
@@ -0,0 +1,203 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.jndi;
+
+import bitronix.tm.TransactionManagerServices;
+import bitronix.tm.resource.ResourceRegistrar;
+
+import javax.naming.*;
+import java.util.Hashtable;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Implementation of {@link javax.naming.Context} that allows lookup of transaction manager
+ * and registered resources.
+ * <p>This implementation is trivial as only the <code>lookup</code> methods are implemented,
+ * all the other ones will throw a {@link OperationNotSupportedException}.</p>
+ *
+ * @author lorban
+ * @see bitronix.tm.jndi.BitronixInitialContextFactory
+ */
+public class BitronixContext implements Context {
+
+ private final static Logger log = LoggerFactory.getLogger(BitronixContext.class);
+
+ private boolean closed = false;
+ private String userTransactionName;
+ private String synchronizationRegistryName;
+
+ public BitronixContext() {
+ userTransactionName = TransactionManagerServices.getConfiguration().getJndiUserTransactionName();
+ if (log.isDebugEnabled()) log.debug("binding transaction manager at name '" + userTransactionName + "'");
+
+ synchronizationRegistryName = TransactionManagerServices.getConfiguration().getJndiTransactionSynchronizationRegistryName();
+ if (log.isDebugEnabled()) log.debug("binding synchronization registry at name '" + synchronizationRegistryName + "'");
+ }
+
+ private void checkClosed() throws ServiceUnavailableException {
+ if (closed)
+ throw new ServiceUnavailableException("context is closed");
+ }
+
+ public void close() throws NamingException {
+ closed = true;
+ }
+
+ public Object lookup(Name name) throws NamingException {
+ return lookup(name.toString());
+ }
+
+ public Object lookup(String s) throws NamingException {
+ checkClosed();
+ if (log.isDebugEnabled()) log.debug("looking up '" + s + "'");
+
+ Object o;
+ if (userTransactionName.equals(s))
+ o = TransactionManagerServices.getTransactionManager();
+ else if (synchronizationRegistryName.equals(s))
+ o = TransactionManagerServices.getTransactionSynchronizationRegistry();
+ else
+ o = ResourceRegistrar.get(s);
+
+ if (o == null)
+ throw new NameNotFoundException("unable to find a bound object at name '" + s + "'");
+ return o;
+ }
+
+ public String toString() {
+ return "a BitronixContext with userTransactionName='" + userTransactionName + "' and synchronizationRegistryName='" + synchronizationRegistryName + "'";
+ }
+
+ public void bind(Name name, Object o) throws NamingException {
+ throw new OperationNotSupportedException();
+ }
+
+ public void bind(String s, Object o) throws NamingException {
+ throw new OperationNotSupportedException();
+ }
+
+ public void rebind(Name name, Object o) throws NamingException {
+ throw new OperationNotSupportedException();
+ }
+
+ public void rebind(String s, Object o) throws NamingException {
+ throw new OperationNotSupportedException();
+ }
+
+ public void unbind(Name name) throws NamingException {
+ throw new OperationNotSupportedException();
+ }
+
+ public void unbind(String s) throws NamingException {
+ throw new OperationNotSupportedException();
+ }
+
+ public void rename(Name name, Name name1) throws NamingException {
+ throw new OperationNotSupportedException();
+ }
+
+ public void rename(String s, String s1) throws NamingException {
+ throw new OperationNotSupportedException();
+ }
+
+ public NamingEnumeration list(Name name) throws NamingException {
+ throw new OperationNotSupportedException();
+ }
+
+ public NamingEnumeration list(String s) throws NamingException {
+ throw new OperationNotSupportedException();
+ }
+
+ public NamingEnumeration listBindings(Name name) throws NamingException {
+ throw new OperationNotSupportedException();
+ }
+
+ public NamingEnumeration listBindings(String s) throws NamingException {
+ throw new OperationNotSupportedException();
+ }
+
+ public void destroySubcontext(Name name) throws NamingException {
+ throw new OperationNotSupportedException();
+ }
+
+ public void destroySubcontext(String s) throws NamingException {
+ throw new OperationNotSupportedException();
+ }
+
+ public Context createSubcontext(Name name) throws NamingException {
+ throw new OperationNotSupportedException();
+ }
+
+ public Context createSubcontext(String s) throws NamingException {
+ throw new OperationNotSupportedException();
+ }
+
+ public Object lookupLink(Name name) throws NamingException {
+ throw new OperationNotSupportedException();
+ }
+
+ public Object lookupLink(String s) throws NamingException {
+ throw new OperationNotSupportedException();
+ }
+
+ public NameParser getNameParser(Name name) throws NamingException {
+ return BitronixNameParser.INSTANCE;
+ }
+
+ public NameParser getNameParser(String s) throws NamingException {
+ return BitronixNameParser.INSTANCE;
+ }
+
+ public Name composeName(Name name, Name name1) throws NamingException {
+ throw new OperationNotSupportedException();
+ }
+
+ public String composeName(String s, String s1) throws NamingException {
+ throw new OperationNotSupportedException();
+ }
+
+ public Object addToEnvironment(String s, Object o) throws NamingException {
+ throw new OperationNotSupportedException();
+ }
+
+ public Object removeFromEnvironment(String s) throws NamingException {
+ throw new OperationNotSupportedException();
+ }
+
+ public Hashtable getEnvironment() throws NamingException {
+ throw new OperationNotSupportedException();
+ }
+
+ public String getNameInNamespace() throws NamingException {
+ throw new OperationNotSupportedException();
+ }
+
+ private final static class BitronixNameParser implements NameParser {
+ private static final BitronixNameParser INSTANCE = new BitronixNameParser();
+
+ public Name parse(final String name) throws NamingException {
+ return new CompositeName(name);
+ }
+ }
+
+}
diff --git a/src/bitronix/tm/jndi/BitronixInitialContextFactory.java b/src/bitronix/tm/jndi/BitronixInitialContextFactory.java
new file mode 100644
index 0000000..e65d7e6
--- /dev/null
+++ b/src/bitronix/tm/jndi/BitronixInitialContextFactory.java
@@ -0,0 +1,61 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.jndi;
+
+import javax.naming.spi.InitialContextFactory;
+import javax.naming.Context;
+import javax.naming.NamingException;
+import java.util.Hashtable;
+
+/**
+ * Implementation of {@link InitialContextFactory} that allows lookup of transaction manager
+ * and registered resources.
+ * <p>
+ * The easiest way to use this provider is to create a <code>jndi.properties</code> file
+ * in your classpath with this content:
+ * <pre>java.naming.factory.initial=bitronix.tm.jndi.BitronixInitialContextFactory</pre>
+ * Alternatively, you can create a {@link javax.naming.InitialContext} object with an environment
+ * pointing to this class:
+ * <pre>
+ * Hashtable env = new Hashtable();
+ * env.put(Context.INITIAL_CONTEXT_FACTORY, "bitronix.tm.jndi.BitronixInitialContextFactory");
+ * Context ctx = new InitialContext(env);
+ * </pre>
+ * </p>
+ * <p>The transaction manager can be looked up at the standard URL <code>java:comp/UserTransaction</code>
+ * while resources can be looked up using their unique name as set in
+ * {@link bitronix.tm.resource.common.ResourceBean#getUniqueName()}.
+ * </p>
+ *
+ * @author lorban
+ * @see bitronix.tm.jndi.BitronixContext
+ */
+public class BitronixInitialContextFactory implements InitialContextFactory {
+
+ public Context getInitialContext(Hashtable hashtable) throws NamingException {
+ return new BitronixContext();
+ }
+
+ public String toString() {
+ return "a BitronixInitialContextFactory";
+ }
+
+}
diff --git a/src/bitronix/tm/jndi/package.html b/src/bitronix/tm/jndi/package.html
new file mode 100644
index 0000000..b66093e
--- /dev/null
+++ b/src/bitronix/tm/jndi/package.html
@@ -0,0 +1,7 @@
+<html>
+<body>
+ <p>
+ JNDI provider implementation that allows looking up transaction manager and resources.
+ </p>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/bitronix/tm/journal/CorruptedTransactionLogException.java b/src/bitronix/tm/journal/CorruptedTransactionLogException.java
new file mode 100644
index 0000000..ef14a23
--- /dev/null
+++ b/src/bitronix/tm/journal/CorruptedTransactionLogException.java
@@ -0,0 +1,34 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.journal;
+
+import java.io.IOException;
+
+/**
+ * Thrown by {@link TransactionLogCursor} when an integrity check fails upon reading a record.
+ *
+ * @author lorban
+ */
+public class CorruptedTransactionLogException extends IOException {
+ public CorruptedTransactionLogException(String s) {
+ super(s);
+ }
+}
diff --git a/src/bitronix/tm/journal/DiskForceBatcherThread.java b/src/bitronix/tm/journal/DiskForceBatcherThread.java
new file mode 100644
index 0000000..6fcddde
--- /dev/null
+++ b/src/bitronix/tm/journal/DiskForceBatcherThread.java
@@ -0,0 +1,127 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.journal;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+
+/**
+ * Thread that executes disk force batches.
+ *
+ * @author lorban
+ */
+public final class DiskForceBatcherThread extends Thread {
+
+ private final static Logger log = LoggerFactory.getLogger(DiskForceBatcherThread.class);
+ private static DiskForceBatcherThread instance;
+
+ // both variables must be volatile to prevent race conditions with JDK 1.5+ memory model
+ private volatile boolean alive = true;
+ private volatile DiskForceWaitQueue waitQueue = new DiskForceWaitQueue();
+
+ /**
+ * Get the single instance of the DiskForceBatcherThread.
+ * @return the single instance of the DiskForceBatcherThread.
+ */
+ public synchronized static DiskForceBatcherThread getInstance() {
+ if (instance == null) {
+ instance = new DiskForceBatcherThread();
+ }
+ return instance;
+ }
+
+ private DiskForceBatcherThread() {
+ setName("bitronix-disk-force-batcher");
+ setPriority(Thread.NORM_PRIORITY -1);
+ setDaemon(true);
+ start();
+ }
+
+ /**
+ * Thread will run for as long as this flag is not false.
+ * @param alive The new flag value.
+ */
+ public void setAlive(boolean alive) {
+ this.alive = alive;
+ }
+
+ /**
+ * Add the TransactionLogAppender to the wait queue and wait until the disk force is done.
+ * @param tla the TransactionLogAppender
+ */
+ public void enqueue(TransactionLogAppender tla) {
+ DiskForceWaitQueue currrentWaitQueue = waitQueue;
+ while (!currrentWaitQueue.enqueue(tla)) {
+ if (log.isDebugEnabled()) log.debug("current DiskForceWaitQueue [" + currrentWaitQueue + "] is cleared, trying next one: [" + waitQueue + "]");
+ currrentWaitQueue = waitQueue;
+ }
+ if (log.isDebugEnabled()) log.debug("batching disk force, there are " + currrentWaitQueue.size() + " TransactionLogAppender(s) in the wait queue");
+ try {
+ currrentWaitQueue.waitUntilNotContains(tla);
+ } catch (InterruptedException ex) {
+ if (log.isDebugEnabled()) log.debug("interrupted while waiting for journal log to be forced, ignored as disk force will happen anyway");
+ }
+ if (log.isDebugEnabled()) log.debug("wait queue got emptied, disk force is done");
+ }
+
+ private void runForceBatch() throws IOException {
+ if (log.isDebugEnabled()) log.debug("waiting for the wait queue to fill up");
+ while(alive && waitQueue.isEmpty()) {
+ try {
+ waitQueue.waitUntilNotEmpty();
+ } catch (InterruptedException ex) {
+ // ignore
+ }
+ } // while
+ if (!alive) {
+ if (log.isDebugEnabled()) log.debug("interrupted while waiting for the queue to fill up");
+ return;
+ }
+
+ if (log.isDebugEnabled()) log.debug("wait queue is not empty anymore (" + waitQueue.size() + " in queue)");
+ DiskForceWaitQueue oldWaitQueue = waitQueue;
+ waitQueue = new DiskForceWaitQueue();
+
+ if (log.isDebugEnabled()) log.debug("forcing...");
+ oldWaitQueue.head().doForce();
+ oldWaitQueue.clear(); // notify threads waiting in this wait queue that the disk force is done
+ }
+
+ public void run() {
+ if (log.isDebugEnabled()) log.debug("disk force thread is up and running");
+ while (alive) {
+ try {
+ runForceBatch();
+ } catch (Exception ex) {
+ log.warn("unexpected Exception", ex);
+ }
+ } // while
+
+ instance = null;
+ if (log.isDebugEnabled()) log.debug("disk force thread has terminated");
+ }
+
+ public String toString() {
+ return "a DiskForceBatcherThread";
+ }
+}
diff --git a/src/bitronix/tm/journal/DiskForceWaitQueue.java b/src/bitronix/tm/journal/DiskForceWaitQueue.java
new file mode 100644
index 0000000..57857d5
--- /dev/null
+++ b/src/bitronix/tm/journal/DiskForceWaitQueue.java
@@ -0,0 +1,94 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.journal;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import bitronix.tm.utils.CollectionUtils;
+
+/**
+ * {@link TransactionLogAppender}s waiting for a disk force get enqueued here.
+ *
+ * @author lorban
+ */
+public class DiskForceWaitQueue {
+
+ private final static Logger log = LoggerFactory.getLogger(DiskForceWaitQueue.class);
+
+ private final List objects = new ArrayList();
+ private boolean isCleared = false;
+
+
+ public DiskForceWaitQueue() {
+ }
+
+ /**
+ * @return true if the tla was successfully enqueued, false otherwise
+ */
+ public synchronized boolean enqueue(TransactionLogAppender tla) {
+ if (isCleared) {
+ return false;
+ }
+ objects.add(tla);
+ if (log.isDebugEnabled()) log.debug("enqueued " + tla + ", " + objects.size() + " TransactionLogAppender waiting for a disk force in " + this);
+ notifyAll();
+ return true;
+ }
+
+ public synchronized TransactionLogAppender head() {
+ if (log.isDebugEnabled()) log.debug("returning head TransactionLogAppender");
+ return (TransactionLogAppender) objects.get(0);
+ }
+
+ public synchronized void clear() {
+ if (log.isDebugEnabled()) log.debug("clearing list of " + objects.size() + " waiting TransactionLogAppender(s) in " + this);
+ objects.clear();
+ isCleared = true;
+ notifyAll();
+ }
+
+ public synchronized boolean isEmpty() {
+ return objects.isEmpty();
+ }
+
+ public synchronized void waitUntilNotEmpty() throws InterruptedException {
+ while (objects.isEmpty()) {
+ if (log.isDebugEnabled()) log.debug("waiting for some TransactionLogAppender to get enqueued");
+ wait();
+ }
+ }
+
+ public synchronized int size() {
+ return objects.size();
+ }
+
+ public synchronized void waitUntilNotContains(TransactionLogAppender tla) throws InterruptedException {
+ while (CollectionUtils.containsByIdentity(objects, tla)) {
+ if (log.isDebugEnabled()) log.debug("waiting for " + tla + " to get dequeued");
+ wait();
+ }
+ }
+
+}
diff --git a/src/bitronix/tm/journal/DiskJournal.java b/src/bitronix/tm/journal/DiskJournal.java
new file mode 100644
index 0000000..d5ed362
--- /dev/null
+++ b/src/bitronix/tm/journal/DiskJournal.java
@@ -0,0 +1,395 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.journal;
+
+import bitronix.tm.BitronixXid;
+import bitronix.tm.TransactionManagerServices;
+import bitronix.tm.utils.Decoder;
+import bitronix.tm.utils.Uid;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.transaction.Status;
+import java.io.File;
+import java.io.IOException;
+import java.io.RandomAccessFile;
+import java.util.*;
+
+/**
+ * Simple implementation of a journal that writes on a two-files disk log.
+ * <p>Files are pre-allocated in size, never grow and when the first one is full, dangling records are copied to the
+ * second file and logging starts again on the latter.</p>
+ * <p>This implementation is not highly efficient but quite robust and simple. It is based on one of the implementations
+ * proposed by Mike Spille.</p>
+ * <p>Configurable properties are all starting with <code>bitronix.tm.journal.disk</code>.</p>
+ *
+ * @see bitronix.tm.Configuration
+ * @see <a href="http://jroller.com/page/pyrasun?entry=xa_exposed_part_iii_the">XA Exposed, Part III: The Implementor's Notebook</a>
+ * @author lorban
+ */
+public class DiskJournal implements Journal {
+
+ private final static Logger log = LoggerFactory.getLogger(DiskJournal.class);
+
+ /**
+ * The active log appender. This is exactly the same reference as tla1 or tla2 depending on which one is
+ * currently active
+ */
+ private TransactionLogAppender activeTla;
+
+ /**
+ * The transaction log appender writing on the 1st file
+ */
+ private TransactionLogAppender tla1;
+
+ /**
+ * The transaction log appender writing on the 2nd file
+ */
+ private TransactionLogAppender tla2;
+
+
+ /**
+ * Create an uninitialized disk journal. You must call open() prior you can use it.
+ */
+ public DiskJournal() {
+ }
+
+ /**
+ * Log a new transaction status to journal. Note that the DiskJournal will not check the flow of the transaction.
+ * If you call this method with erroneous data, it will be added to the journal anyway.
+ * @param status transaction status to log. See {@link javax.transaction.Status} constants.
+ * @param gtrid raw GTRID of the transaction.
+ * @param uniqueNames unique names of the {@link bitronix.tm.resource.common.ResourceBean}s participating in
+ * this transaction.
+ * @throws java.io.IOException in case of disk IO failure or if the disk journal is not open.
+ */
+ public void log(int status, Uid gtrid, Set uniqueNames) throws IOException {
+ if (activeTla == null)
+ throw new IOException("cannot write log, disk logger is not open");
+
+ if (TransactionManagerServices.getConfiguration().isFilterLogStatus()) {
+ if (status != Status.STATUS_COMMITTING && status != Status.STATUS_COMMITTED && status != Status.STATUS_UNKNOWN) {
+ if (log.isDebugEnabled()) log.debug("filtered out write to log for status " + Decoder.decodeStatus(status));
+ return;
+ }
+ }
+
+ synchronized (this) {
+ TransactionLogRecord tlog = new TransactionLogRecord(status, gtrid, uniqueNames);
+ boolean written = activeTla.writeLog(tlog);
+ if (!written) {
+ // time to swap log files
+ swapJournalFiles();
+
+ written = activeTla.writeLog(tlog);
+ if (!written)
+ throw new IOException("no room to write log to journal even after swap, circular collision avoided");
+ }
+ } //synchronized
+ }
+
+ /**
+ * Force active log file to synchronize with the underlying disk device.
+ * @throws java.io.IOException in case of disk IO failure or if the disk journal is not open.
+ */
+ public void force() throws IOException {
+ if (activeTla == null)
+ throw new IOException("cannot force log writing, disk logger is not open");
+
+ activeTla.force();
+ }
+
+ /**
+ * Open the disk journal. Files are checked for integrity and DiskJournal will refuse to open corrupted log files.
+ * If files are not present on disk, this method will create and pre-allocate them.
+ * @throws java.io.IOException in case of disk IO failure.
+ */
+ public synchronized void open() throws IOException {
+ if (activeTla != null) {
+ log.warn("disk journal already open");
+ return;
+ }
+
+ File file1 = new File(TransactionManagerServices.getConfiguration().getLogPart1Filename());
+ File file2 = new File(TransactionManagerServices.getConfiguration().getLogPart2Filename());
+
+ if (!file1.exists() && !file2.exists()) {
+ log.debug("creation of log files");
+ createLogfile(file2, TransactionManagerServices.getConfiguration().getMaxLogSizeInMb());
+ // let the clock run a little before creating the 2nd log file to make the timestamp headers not the same
+ try { Thread.sleep(10); } catch (InterruptedException ex) { /* ignore */ }
+ createLogfile(file1, TransactionManagerServices.getConfiguration().getMaxLogSizeInMb());
+ }
+
+ if (file1.length() != file2.length()) {
+ if (!TransactionManagerServices.getConfiguration().isSkipCorruptedLogs())
+ throw new IOException("transaction log files are not of the same length, assuming they're corrupt");
+ log.error("transaction log files are not of the same length: corrupted files?");
+ }
+
+ long maxFileLength = Math.max(file1.length(), file2.length());
+ if (log.isDebugEnabled()) log.debug("disk journal files max length: " + maxFileLength);
+
+ tla1 = new TransactionLogAppender(file1, maxFileLength);
+ tla2 = new TransactionLogAppender(file2, maxFileLength);
+
+ byte cleanStatus = pickActiveJournalFile(tla1, tla2);
+ if (cleanStatus != TransactionLogHeader.CLEAN_LOG_STATE) {
+ log.warn("active log file is unclean, did you call BitronixTransactionManager.shutdown() at the end of the last run?");
+ }
+
+ if (log.isDebugEnabled()) log.debug("disk journal opened");
+ }
+
+ /**
+ * Close the disk journal and the underlying files.
+ * @throws java.io.IOException in case of disk IO failure.
+ */
+ public synchronized void close() throws IOException {
+ if (activeTla == null) {
+ return;
+ }
+
+ try {
+ tla1.close();
+ } catch (IOException ex) {
+ log.error("cannot close " + tla1, ex);
+ }
+ tla1 = null;
+ try {
+ tla2.close();
+ } catch (IOException ex) {
+ log.error("cannot close " + tla2, ex);
+ }
+ tla2 = null;
+ activeTla = null;
+
+ log.debug("disk journal closed");
+ }
+
+ public void shutdown() {
+ try {
+ close();
+ } catch (IOException ex) {
+ log.error("error shutting down disk journal. Transaction log integrity could be compromised!", ex);
+ }
+ }
+
+ /**
+ * Collect all dangling records of the active log file.
+ * @return a Map using Uid objects GTRID as key and {@link TransactionLogRecord} as value
+ * @throws java.io.IOException in case of disk IO failure or if the disk journal is not open.
+ */
+ public Map collectDanglingRecords() throws IOException {
+ if (activeTla == null)
+ throw new IOException("cannot collect dangling records, disk logger is not open");
+ return collectDanglingRecords(activeTla);
+ }
+
+ /*
+ * Internal impl.
+ */
+
+ /**
+ * Create a fresh log file on disk. If the specified file already exists it will be deleted then recreated.
+ * @param logfile the file to create
+ * @param maxLogSizeInMb the file size in megabytes to preallocate
+ * @throws java.io.IOException in case of disk IO failure.
+ */
+ private static void createLogfile(File logfile, int maxLogSizeInMb) throws IOException {
+ if (logfile.isDirectory())
+ throw new IOException("log file is referring to a directory: " + logfile.getAbsolutePath());
+ if (logfile.exists()) {
+ boolean deleted = logfile.delete();
+ if (!deleted)
+ throw new IOException("log file exists but cannot be overwritten: " + logfile.getAbsolutePath());
+ }
+ if (logfile.getParentFile() != null) {
+ logfile.getParentFile().mkdirs();
+ }
+
+ RandomAccessFile raf = null;
+ try {
+ raf = new RandomAccessFile(logfile, "rw");
+
+ raf.seek(TransactionLogHeader.FORMAT_ID_HEADER);
+ raf.writeInt(BitronixXid.FORMAT_ID);
+ raf.writeLong(System.currentTimeMillis());
+ raf.writeByte(TransactionLogHeader.CLEAN_LOG_STATE);
+ raf.writeLong((long) TransactionLogHeader.HEADER_LENGTH);
+
+ byte[] buffer = new byte[4096];
+ int length = (maxLogSizeInMb *1024 *1024) /4096;
+ for(int i=0; i<length ;i++) {
+ raf.write(buffer);
+ }
+ } finally {
+ if (raf != null) raf.close();
+ }
+ }
+
+ /**
+ * Initialize the activeTla member variable with the TransactionLogAppender object having the latest timestamp
+ * header.
+ * @see TransactionLogHeader
+ * @param tla1 the first of the two candidate active TransactionLogAppenders
+ * @param tla2 the second of the two candidate active TransactionLogAppenders
+ * @return the state of the designated active TransactionLogAppender as returned by TransactionLogHeader.getState()
+ * @throws java.io.IOException in case of disk IO failure.
+ */
+ private byte pickActiveJournalFile(TransactionLogAppender tla1, TransactionLogAppender tla2) throws IOException {
+ if (tla1.getHeader().getTimestamp() > tla2.getHeader().getTimestamp()) {
+ activeTla = tla1;
+ if (log.isDebugEnabled()) log.debug("logging to file 1: " + activeTla);
+ }
+ else {
+ activeTla = tla2;
+ if (log.isDebugEnabled()) log.debug("logging to file 2: " + activeTla);
+ }
+
+ byte cleanState = activeTla.getHeader().getState();
+ activeTla.getHeader().setState(TransactionLogHeader.UNCLEAN_LOG_STATE);
+ if (log.isDebugEnabled()) log.debug("log file activated, forcing file state to disk");
+ activeTla.force();
+ return cleanState;
+ }
+
+
+ /**
+ * <p>Swap the active and the passive journal files so that the active one becomes passive and the passive one
+ * becomes active.</p>
+ * List of actions taken by this method:
+ * <ul>
+ * <li>copy dangling COMMITTING records to the passive log file.</li>
+ * <li>update header timestamp of passive log file (makes it become active).</li>
+ * <li>do a force on passive log file. It is now the active file.</li>
+ * <li>switch references of active/passive files.</li>
+ * </ul>
+ * @throws java.io.IOException in case of disk IO failure.
+ */
+ private void swapJournalFiles() throws IOException {
+ if (log.isDebugEnabled()) log.debug("swapping journal log file to " + getPassiveTransactionLogAppender());
+
+ //step 1
+ TransactionLogAppender passiveTla = getPassiveTransactionLogAppender();
+ passiveTla.getHeader().rewind();
+ copyDanglingRecords(activeTla, passiveTla);
+
+ //step 2
+ passiveTla.getHeader().setTimestamp(System.currentTimeMillis());
+
+ //step 3
+ passiveTla.force();
+
+ //step 4
+ if (activeTla == tla1) {
+ activeTla = tla2;
+ }
+ else {
+ activeTla = tla1;
+ }
+
+ if (log.isDebugEnabled()) log.debug("journal log files swapped");
+ }
+
+ /**
+ * @return the TransactionFileAppender of the passive journal file.
+ */
+ private TransactionLogAppender getPassiveTransactionLogAppender() {
+ if (tla1 == activeTla)
+ return tla2;
+ return tla1;
+ }
+
+ /**
+ * Copy all records that have status COMMITTING and no corresponding COMMITTED record from the fromTla to the toTla.
+ * @param fromTla the source where to search for COMMITTING records with no corresponding COMMITTED record
+ * @param toTla the destination where the COMMITTING records will be copied to
+ * @throws java.io.IOException in case of disk IO failure.
+ */
+ private static void copyDanglingRecords(TransactionLogAppender fromTla, TransactionLogAppender toTla) throws IOException {
+ if (log.isDebugEnabled()) log.debug("starting copy of dangling records");
+
+ Map danglingRecords = collectDanglingRecords(fromTla);
+
+ for (Iterator iterator = danglingRecords.values().iterator(); iterator.hasNext();) {
+ TransactionLogRecord tlog = (TransactionLogRecord) iterator.next();
+ toTla.writeLog(tlog);
+ }
+
+ if (log.isDebugEnabled()) log.debug(danglingRecords.size() + " dangling record(s) copied to passive log file");
+ }
+
+ /**
+ * Create a Map of TransactionLogRecord with COMMITTING status objects using the GTRID byte[] as key that have
+ * no corresponding COMMITTED record
+ * @param tla the TransactionLogAppender to scan
+ * @return a Map using Uid objects GTRID as key and {@link TransactionLogRecord} as value
+ * @throws java.io.IOException in case of disk IO failure.
+ */
+ private static Map collectDanglingRecords(TransactionLogAppender tla) throws IOException {
+ Map danglingRecords = new HashMap(64);
+ TransactionLogCursor tlc = tla.getCursor();
+
+ try {
+ int committing = 0;
+ int committed = 0;
+
+ while (true) {
+ TransactionLogRecord tlog;
+ try {
+ tlog = tlc.readLog();
+ } catch (CorruptedTransactionLogException ex) {
+ if (TransactionManagerServices.getConfiguration().isSkipCorruptedLogs()) {
+ log.error("skipping corrupted log", ex);
+ continue;
+ }
+ throw ex;
+ }
+
+ if (tlog == null)
+ break;
+
+ if (tlog.getStatus() == Status.STATUS_COMMITTING) {
+ danglingRecords.put(tlog.getGtrid(), tlog);
+ committing++;
+ }
+ if (tlog.getStatus() == Status.STATUS_COMMITTED) {
+ TransactionLogRecord rec = (TransactionLogRecord) danglingRecords.get(tlog.getGtrid());
+ if (rec != null) {
+ rec.removeUniqueNames(tlog.getUniqueNames());
+ if (rec.getUniqueNames().isEmpty()) {
+ danglingRecords.remove(tlog.getGtrid());
+ committed++;
+ }
+ }
+ }
+ }
+
+ if (log.isDebugEnabled()) log.debug("collected dangling records of " + tla + ", committing: " + committing + ", committed: " + committed + ", delta: " + danglingRecords.size());
+ }
+ finally {
+ tlc.close();
+ }
+ return danglingRecords;
+ }
+
+}
diff --git a/src/bitronix/tm/journal/Journal.java b/src/bitronix/tm/journal/Journal.java
new file mode 100644
index 0000000..a25f12c
--- /dev/null
+++ b/src/bitronix/tm/journal/Journal.java
@@ -0,0 +1,73 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.journal;
+
+import bitronix.tm.utils.Uid;
+import bitronix.tm.utils.Service;
+
+import java.io.IOException;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * Transaction logs journal implementations must implement this interface to provide functionality required by the
+ * transaction manager.
+ *
+ * @author lorban
+ */
+public interface Journal extends Service {
+
+ /**
+ * Log a new transaction status to journal. Note that the journal will not check the flow of the transactions.
+ * If you call this method with erroneous data, it will be added to the journal as-is.
+ * @param status transaction status to log.
+ * @param gtrid GTRID of the transaction.
+ * @param uniqueNames unique names of the RecoverableXAResourceProducers participating in the transaction.
+ * @throws IOException if an I/O error occurs.
+ */
+ public void log(int status, Uid gtrid, Set uniqueNames) throws IOException;
+
+ /**
+ * Open the journal. Integrity should be checked and an exception should be thrown in case the journal is corrupt.
+ * @throws IOException if an I/O error occurs.
+ */
+ public void open() throws IOException;
+
+ /**
+ * Close this journal and release all underlying resources.
+ * @throws IOException if an I/O error occurs.
+ */
+ public void close() throws IOException;
+
+ /**
+ * Force journal to synchronize with permanent storage.
+ * @throws IOException if an I/O error occurs.
+ */
+ public void force() throws IOException;
+
+ /**
+ * Collect all dangling records of the journal, ie: COMMITTING records with no corresponding COMMITTED record.
+ * @return a Map using Uid objects GTRID as key and {@link TransactionLogRecord} as value
+ * @throws IOException if an I/O error occurs.
+ */
+ public Map collectDanglingRecords() throws IOException;
+
+}
diff --git a/src/bitronix/tm/journal/NullJournal.java b/src/bitronix/tm/journal/NullJournal.java
new file mode 100644
index 0000000..407f275
--- /dev/null
+++ b/src/bitronix/tm/journal/NullJournal.java
@@ -0,0 +1,64 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.journal;
+
+import bitronix.tm.utils.Uid;
+
+import java.io.IOException;
+import java.util.Collections;
+import java.util.Map;
+import java.util.Set;
+
+
+/**
+ * No-op journal. Do not use for anything else than testing as the transaction manager cannot guarantee
+ * data integrity with this journal implementation.
+ *
+ * @author lorban
+ */
+public class NullJournal implements Journal {
+
+ public NullJournal() {
+ }
+
+ public void log(int status, Uid gtrid, Set uniqueNames) throws IOException {
+ }
+
+ public void open() throws IOException {
+ }
+
+ public void close() throws IOException {
+ }
+
+ public void force() throws IOException {
+ }
+
+ public Map collectDanglingRecords() throws IOException {
+ return Collections.EMPTY_MAP;
+ }
+
+ public void shutdown() {
+ }
+
+ public String toString() {
+ return "a NullJournal";
+ }
+}
diff --git a/src/bitronix/tm/journal/TransactionLogAppender.java b/src/bitronix/tm/journal/TransactionLogAppender.java
new file mode 100644
index 0000000..f91448b
--- /dev/null
+++ b/src/bitronix/tm/journal/TransactionLogAppender.java
@@ -0,0 +1,224 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.journal;
+
+import bitronix.tm.TransactionManagerServices;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.RandomAccessFile;
+import java.util.Iterator;
+import java.nio.channels.FileLock;
+
+/**
+ * Used to write {@link TransactionLogRecord} objects to a log file.
+ *
+ * @author lorban
+ */
+public class TransactionLogAppender {
+
+ private final static Logger log = LoggerFactory.getLogger(TransactionLogAppender.class);
+
+ /**
+ * int-encoded "xntB" ASCII string.
+ * This will be useful after swapping log files since we will potentially overwrite old logs not necessarily of the
+ * same size. Very useful when debugging and eventually restoring broken log files.
+ */
+ public static final int END_RECORD = 0x786e7442;
+
+ private final File file;
+ private final RandomAccessFile randomAccessFile;
+ private final FileLock lock;
+ private final TransactionLogHeader header;
+
+ private long maxFileLength;
+
+ private static DiskForceBatcherThread diskForceBatcherThread;
+
+ /**
+ * Create an appender that will write to specified file up to the specified maximum length.
+ * All disk access are synchronized arround the RandomAccessFile object, including header calls.
+ * @param file the underlying File used to write to disk.
+ * @param maxFileLength size of the file on disk that can never be bypassed.
+ * @throws IOException if an I/O error occurs.
+ */
+ public TransactionLogAppender(File file, long maxFileLength) throws IOException {
+ this.maxFileLength = maxFileLength;
+ this.file = file;
+ this.randomAccessFile = new RandomAccessFile(file, "rw");
+ this.header = new TransactionLogHeader(randomAccessFile, maxFileLength);
+ this.lock = randomAccessFile.getChannel().tryLock(0, TransactionLogHeader.TIMESTAMP_HEADER, false);
+ if (this.lock == null)
+ throw new IOException("transaction log file " + file.getName() + " is locked. Is another instance already running?");
+
+ spawnBatcherThread();
+ }
+
+ /**
+ * Return a {@link TransactionLogHeader} that allows reading and controlling the log file's header.
+ * @return this log file's TransactionLogHeader
+ */
+ public TransactionLogHeader getHeader() {
+ return header;
+ }
+
+ /**
+ * Write a {@link TransactionLogRecord} to disk.
+ * @param tlog the record to write to disk.
+ * @return true if there was room in the log file and the log was written, false otherwise.
+ * @throws IOException if an I/O error occurs.
+ */
+ public boolean writeLog(TransactionLogRecord tlog) throws IOException {
+ synchronized (randomAccessFile) {
+ long futureFilePosition = getHeader().getPosition() + tlog.calculateTotalRecordSize();
+ if (futureFilePosition >= maxFileLength) { // see TransactionLogHeader.setPosition() as it double-checks this
+ if (log.isDebugEnabled())
+ log.debug("log file is full (size would be: " + futureFilePosition + ", max allowed: " + maxFileLength + ")");
+ return false;
+ }
+ if (log.isDebugEnabled()) log.debug("between " + getHeader().getPosition() + " and " + futureFilePosition + ", writing " + tlog);
+
+ randomAccessFile.writeInt(tlog.getStatus());
+ randomAccessFile.writeInt(tlog.getRecordLength());
+ randomAccessFile.writeInt(tlog.getHeaderLength());
+ randomAccessFile.writeLong(tlog.getTime());
+ randomAccessFile.writeInt(tlog.getSequenceNumber());
+ randomAccessFile.writeInt(tlog.getCrc32());
+ randomAccessFile.writeByte((byte) tlog.getGtrid().getArray().length);
+ randomAccessFile.write(tlog.getGtrid().getArray());
+ randomAccessFile.writeInt(tlog.getUniqueNames().size());
+ Iterator it = tlog.getUniqueNames().iterator();
+ while (it.hasNext()) {
+ String uniqueName = (String) it.next();
+ randomAccessFile.writeShort(uniqueName.length());
+ randomAccessFile.writeBytes(uniqueName); // this writes each character discarding the 8th bit. Isn't that US-ASCII ?
+ }
+ randomAccessFile.writeInt(tlog.getEndRecord());
+ getHeader().goAhead(tlog.calculateTotalRecordSize());
+ if (log.isDebugEnabled()) log.debug("disk journal appender now at position " + getHeader().getPosition());
+
+ return true;
+ }
+ }
+
+ /**
+ * Close the appender and the underlying file.
+ * @throws IOException if an I/O error occurs.
+ */
+ public void close() throws IOException {
+ synchronized (randomAccessFile) {
+ shutdownBatcherThread();
+
+ getHeader().setState(TransactionLogHeader.CLEAN_LOG_STATE);
+ randomAccessFile.getFD().sync();
+ lock.release();
+ randomAccessFile.close();
+ }
+ }
+
+ /**
+ * Creates a cursor on this journal file allowing iteration of its records.
+ * This opens a new read-only file descriptor independent of the write-only one
+ * still used for writing transaction logs.
+ * @return a TransactionLogCursor.
+ * @throws IOException if an I/O error occurs.
+ */
+ public TransactionLogCursor getCursor() throws IOException {
+ return new TransactionLogCursor(file);
+ }
+
+ /**
+ * Force flushing the logs to disk
+ * @throws IOException if an I/O error occurs.
+ */
+ public void force() throws IOException {
+ if (!TransactionManagerServices.getConfiguration().isForcedWriteEnabled()) {
+ if (log.isDebugEnabled()) log.debug("disk forces have been disabled");
+ return;
+ }
+
+ if (!TransactionManagerServices.getConfiguration().isForceBatchingEnabled()) {
+ if (log.isDebugEnabled()) log.debug("not batching disk force");
+ doForce();
+ }
+ else {
+ diskForceBatcherThread.enqueue(this);
+ }
+ }
+
+ public String toString() {
+ return "a TransactionLogAppender on " + file.getName();
+ }
+
+
+ protected void doForce() throws IOException {
+ synchronized (randomAccessFile) {
+ if (log.isDebugEnabled()) log.debug("forcing log writing");
+ randomAccessFile.getFD().sync();
+ if (log.isDebugEnabled()) log.debug("done forcing log");
+ }
+ }
+
+ private void spawnBatcherThread() {
+ synchronized (getClass()) {
+ if (diskForceBatcherThread != null)
+ return;
+
+ if (log.isDebugEnabled()) log.debug("spawning disk force batcher thread");
+ diskForceBatcherThread = DiskForceBatcherThread.getInstance();
+
+ if (!TransactionManagerServices.getConfiguration().isForcedWriteEnabled()) {
+ log.warn("transaction journal disk syncs have been disabled, transaction logs integrity is not guaranteed !");
+ return;
+ }
+ if (!TransactionManagerServices.getConfiguration().isForceBatchingEnabled()) {
+ log.warn("transaction journal disk syncs batching has been disabled, this will seriously impact performance !");
+ return;
+ }
+ }
+ }
+
+ private void shutdownBatcherThread() {
+ synchronized (getClass()) {
+ if (diskForceBatcherThread == null)
+ return;
+
+ if (log.isDebugEnabled()) log.debug("requesting disk force batcher thread to shutdown");
+ diskForceBatcherThread.setAlive(false);
+ diskForceBatcherThread.interrupt();
+ do {
+ try {
+ if (log.isDebugEnabled()) log.debug("waiting for disk force batcher thread to die");
+ diskForceBatcherThread.join();
+ } catch (InterruptedException ex) {
+ //ignore
+ }
+ }
+ while (diskForceBatcherThread.isInterrupted());
+ if (log.isDebugEnabled()) log.debug("disk force batcher thread has shutdown");
+
+ diskForceBatcherThread = null;
+ } // synchronized
+ }
+
+}
diff --git a/src/bitronix/tm/journal/TransactionLogCursor.java b/src/bitronix/tm/journal/TransactionLogCursor.java
new file mode 100644
index 0000000..c8262d0
--- /dev/null
+++ b/src/bitronix/tm/journal/TransactionLogCursor.java
@@ -0,0 +1,166 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.journal;
+
+import org.slf4j.LoggerFactory;
+import org.slf4j.Logger;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.RandomAccessFile;
+import java.util.Set;
+import java.util.HashSet;
+
+import bitronix.tm.utils.Uid;
+
+/**
+ * Used to read {@link TransactionLogRecord} objects from a log file.
+ *
+ * @author lorban
+ */
+public class TransactionLogCursor {
+
+ private final static Logger log = LoggerFactory.getLogger(TransactionLogCursor.class);
+
+ private final RandomAccessFile randomAccessFile;
+ private long endPosition;
+
+ /**
+ * Create a TransactionLogCursor that will read from the specified file.
+ * This opens a new read-only file descriptor.
+ * @param file the file to read logs from
+ * @throws IOException if an I/O error occurs.
+ */
+ public TransactionLogCursor(File file) throws IOException {
+ this.randomAccessFile = new RandomAccessFile(file, "r");
+ this.randomAccessFile.seek(TransactionLogHeader.CURRENT_POSITION_HEADER);
+ endPosition = this.randomAccessFile.readLong();
+ }
+
+ /**
+ * Fetch the next TransactionLogRecord from log, recalculating the CRC and checking it against the stored one.
+ * InvalidChecksumException is thrown if the check fails.
+ * @return the TransactionLogRecord or null if the end of the log file has been reached
+ * @throws IOException if an I/O error occurs.
+ */
+ public TransactionLogRecord readLog() throws IOException {
+ return readLog(false);
+ }
+
+ /**
+ * Fetch the next TransactionLogRecord from log.
+ * @param skipCrcCheck if set to false, the method will thow an InvalidChecksumException if the CRC on disk does
+ * not match the recalculated one. Otherwise, the CRC is not recalculated nor checked agains the stored one.
+ * @return the TransactionLogRecord or null if the end of the log file has been reached
+ * @throws IOException if an I/O error occurs.
+ */
+ public TransactionLogRecord readLog(boolean skipCrcCheck) throws IOException {
+ synchronized (randomAccessFile) {
+ long currentPosition = randomAccessFile.getFilePointer();
+ if (currentPosition >= endPosition) {
+ if (log.isDebugEnabled()) log.debug("end of transaction log file reached at " + randomAccessFile.getFilePointer());
+ return null;
+ }
+
+ int status = randomAccessFile.readInt();
+ int recordLength = randomAccessFile.readInt();
+
+ // check that log is in file bounds
+ long savedPos = randomAccessFile.getFilePointer();
+ randomAccessFile.skipBytes(recordLength - 4);
+ if (randomAccessFile.getFilePointer() + 4 > endPosition) {
+ randomAccessFile.skipBytes(4);
+ throw new CorruptedTransactionLogException("corrupted log found at position " + currentPosition +
+ " (record terminator outside of file bounds: " + randomAccessFile.getFilePointer() + " of " +
+ endPosition + ", recordLength: " + recordLength + ")");
+ }
+
+ // check for log terminator
+ int endCode = randomAccessFile.readInt();
+ long endOfRecordPosition = randomAccessFile.getFilePointer();
+ if (endCode != TransactionLogAppender.END_RECORD)
+ throw new CorruptedTransactionLogException("corrupted log found at position " + currentPosition +
+ " (no record terminator found)");
+ randomAccessFile.seek(savedPos);
+
+
+ int headerLength = randomAccessFile.readInt();
+ long time = randomAccessFile.readLong();
+ int sequenceNumber = randomAccessFile.readInt();
+ int crc32 = randomAccessFile.readInt();
+ byte gtridSize = randomAccessFile.readByte();
+
+ // check that GTRID is not too long
+ if (4 + 8 + 4 + 4 + 1 + gtridSize > recordLength) {
+ randomAccessFile.seek(endOfRecordPosition);
+ throw new CorruptedTransactionLogException("corrupted log found at position " + currentPosition +
+ " (GTRID size too long)");
+ }
+
+ byte[] gtridArray = new byte[gtridSize];
+ randomAccessFile.readFully(gtridArray);
+ Uid gtrid = new Uid(gtridArray);
+ int uniqueNamesCount = randomAccessFile.readInt();
+ Set uniqueNames = new HashSet();
+ int currentReadCount = 4 + 8 + 4 + 4 + 1 + gtridSize + 4;
+
+ for (int i=0; i<uniqueNamesCount ;i++) {
+ int length = randomAccessFile.readShort();
+
+ // check that names aren't too long
+ currentReadCount += 2 + length;
+ if (currentReadCount > recordLength) {
+ randomAccessFile.seek(endOfRecordPosition);
+ throw new CorruptedTransactionLogException("corrupted log found at position " + currentPosition +
+ " (unique names too long, " + (i+1) + " out of " + uniqueNamesCount + ", length: " + length +
+ ", currentReadCount: " + currentReadCount + ", recordLength: " + recordLength + ")");
+ }
+
+ byte[] nameBytes = new byte[length];
+ randomAccessFile.readFully(nameBytes);
+ uniqueNames.add(new String(nameBytes, "US-ASCII"));
+ }
+ int cEndRecord = randomAccessFile.readInt();
+
+ TransactionLogRecord tlog = new TransactionLogRecord(status, recordLength, headerLength, time, sequenceNumber, crc32, gtrid, uniqueNames, cEndRecord);
+
+ // check that CRC is okay
+ if (!skipCrcCheck && !tlog.isCrc32Correct()) {
+ randomAccessFile.seek(endOfRecordPosition);
+ throw new CorruptedTransactionLogException("corrupted log found at position " + currentPosition + "(invalid CRC, recorded: " + tlog.getCrc32() +
+ ", calculated: " + tlog.calculateCrc32() + ")");
+ }
+
+ return tlog;
+ }
+ }
+
+ /**
+ * Close the cursor and the underlying file
+ * @throws IOException if an I/O error occurs.
+ */
+ public void close() throws IOException {
+ synchronized (randomAccessFile) {
+ randomAccessFile.close();
+ }
+ }
+
+}
diff --git a/src/bitronix/tm/journal/TransactionLogHeader.java b/src/bitronix/tm/journal/TransactionLogHeader.java
new file mode 100644
index 0000000..f508806
--- /dev/null
+++ b/src/bitronix/tm/journal/TransactionLogHeader.java
@@ -0,0 +1,242 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.journal;
+
+import bitronix.tm.utils.Decoder;
+import org.slf4j.LoggerFactory;
+import org.slf4j.Logger;
+
+import java.io.IOException;
+import java.io.RandomAccessFile;
+
+/**
+ * Used to control a log file's header.
+ * <p>The physical data is read when this object is created then cached. Calling setter methods sets the header field
+ * then moves the file pointer back to the previous location.</p>
+ *
+ * @author lorban
+ */
+public class TransactionLogHeader {
+
+ private final static Logger log = LoggerFactory.getLogger(TransactionLogHeader.class);
+
+ /**
+ * Position of the format ID in the header (see {@link bitronix.tm.BitronixXid#FORMAT_ID}).
+ */
+ public final static int FORMAT_ID_HEADER = 0;
+
+ /**
+ * Position of the timestamp in the header.
+ */
+ public final static int TIMESTAMP_HEADER = FORMAT_ID_HEADER + 4;
+
+ /**
+ * Position of the log file state in the header.
+ */
+ public final static int STATE_HEADER = TIMESTAMP_HEADER + 8;
+
+ /**
+ * Position of the current log position in the header.
+ */
+ public final static int CURRENT_POSITION_HEADER = STATE_HEADER + 1;
+
+ /**
+ * Total length of the header.
+ */
+ public final static int HEADER_LENGTH = CURRENT_POSITION_HEADER + 8;
+
+ /**
+ * State of the log file when it has been closed properly.
+ */
+ public final static byte CLEAN_LOG_STATE = 0;
+
+ /**
+ * State of the log file when it hasn't been closed properly or it is still open.
+ */
+ public final static byte UNCLEAN_LOG_STATE = -1;
+
+
+ private final RandomAccessFile randomAccessFile;
+ private int formatId;
+ private long timestamp;
+ private byte state;
+ private long position;
+ private long maxFileLength;
+
+ /**
+ * TransactionLogHeader are used to control headers of the specified RandomAccessFile.
+ * All calls to setters are synchronized on the passed-in RandomAccessFile.
+ * @param randomAccessFile the random access file to read from.
+ * @param maxFileLength the max file length.
+ * @throws IOException if an I/O error occurs.
+ */
+ public TransactionLogHeader(RandomAccessFile randomAccessFile, long maxFileLength) throws IOException {
+ this.randomAccessFile = randomAccessFile;
+ this.maxFileLength = maxFileLength;
+
+ randomAccessFile.seek(FORMAT_ID_HEADER);
+ formatId = randomAccessFile.readInt();
+ timestamp = randomAccessFile.readLong();
+ state = randomAccessFile.readByte();
+ position = randomAccessFile.readLong();
+ randomAccessFile.seek(position);
+
+ if (log.isDebugEnabled()) log.debug("read header " + this);
+ }
+
+ /**
+ * Get FORMAT_ID_HEADER.
+ * @see #FORMAT_ID_HEADER
+ * @return the FORMAT_ID_HEADER value.
+ */
+ public int getFormatId() {
+ return formatId;
+ }
+
+ /**
+ * Get TIMESTAMP_HEADER.
+ * @see #TIMESTAMP_HEADER
+ * @return the TIMESTAMP_HEADER value.
+ */
+ public long getTimestamp() {
+ return timestamp;
+ }
+
+ /**
+ * Get STATE_HEADER.
+ * @see #STATE_HEADER
+ * @return the STATE_HEADER value.
+ */
+ public byte getState() {
+ return state;
+ }
+
+ /**
+ * Get CURRENT_POSITION_HEADER.
+ * @see #CURRENT_POSITION_HEADER
+ * @return the CURRENT_POSITION_HEADER value.
+ */
+ public long getPosition() {
+ return position;
+ }
+
+ /**
+ * Set FORMAT_ID_HEADER.
+ * @see #FORMAT_ID_HEADER
+ * @param formatId the FORMAT_ID_HEADER value.
+ * @throws IOException if an I/O error occurs.
+ */
+ public void setFormatId(int formatId) throws IOException {
+ synchronized (randomAccessFile) {
+ long currentPos = randomAccessFile.getFilePointer();
+ randomAccessFile.seek(FORMAT_ID_HEADER);
+ randomAccessFile.writeInt(formatId);
+ randomAccessFile.seek(currentPos);
+ }
+
+ this.formatId = formatId;
+ }
+
+ /**
+ * Set TIMESTAMP_HEADER.
+ * @see #TIMESTAMP_HEADER
+ * @param timestamp the TIMESTAMP_HEADER value.
+ * @throws IOException if an I/O error occurs.
+ */
+ public void setTimestamp(long timestamp) throws IOException {
+ synchronized (randomAccessFile) {
+ long currentPos = randomAccessFile.getFilePointer();
+ randomAccessFile.seek(TIMESTAMP_HEADER);
+ randomAccessFile.writeLong(timestamp);
+ randomAccessFile.seek(currentPos);
+ }
+
+ this.timestamp = timestamp;
+ }
+
+ /**
+ * Set STATE_HEADER.
+ * @see #STATE_HEADER
+ * @param state the STATE_HEADER value.
+ * @throws IOException if an I/O error occurs.
+ */
+ public void setState(byte state) throws IOException {
+ synchronized (randomAccessFile) {
+ long currentPos = randomAccessFile.getFilePointer();
+ randomAccessFile.seek(STATE_HEADER);
+ randomAccessFile.writeByte(state);
+ randomAccessFile.seek(currentPos);
+ }
+
+ this.state = state;
+ }
+
+ /**
+ * Set CURRENT_POSITION_HEADER.
+ * @see #CURRENT_POSITION_HEADER
+ * @param position the CURRENT_POSITION_HEADER value.
+ * @throws IOException if an I/O error occurs.
+ */
+ public void setPosition(long position) throws IOException {
+ if (position < HEADER_LENGTH)
+ throw new IOException("invalid position " + position + " (too low)");
+ if (position >= maxFileLength)
+ throw new IOException("invalid position " + position + " (too high)");
+
+ synchronized (randomAccessFile) {
+ randomAccessFile.seek(CURRENT_POSITION_HEADER);
+ randomAccessFile.writeLong(position);
+ randomAccessFile.seek(position);
+ }
+
+ this.position = position;
+ }
+
+ /**
+ * Advance CURRENT_POSITION_HEADER.
+ * @see #setPosition
+ * @param distance the value to add to the current position.
+ * @throws IOException if an I/O error occurs.
+ */
+ public void goAhead(long distance) throws IOException {
+ setPosition(getPosition() + distance);
+ }
+
+ /**
+ * Rewind CURRENT_POSITION_HEADER back to the beginning of the file.
+ * @see #setPosition
+ * @throws IOException if an I/O error occurs.
+ */
+ public void rewind() throws IOException {
+ setPosition(HEADER_LENGTH);
+ }
+
+ /**
+ * Create human-readable String representation.
+ * @return a human-readable String representing this object's state.
+ */
+ public String toString() {
+ return "a Bitronix TransactionLogHeader with timestamp=" + timestamp +
+ ", state=" + Decoder.decodeHeaderState(state) +
+ ", position=" + position;
+ }
+
+}
diff --git a/src/bitronix/tm/journal/TransactionLogRecord.java b/src/bitronix/tm/journal/TransactionLogRecord.java
new file mode 100644
index 0000000..3881487
--- /dev/null
+++ b/src/bitronix/tm/journal/TransactionLogRecord.java
@@ -0,0 +1,271 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.journal;
+
+import bitronix.tm.utils.Encoder;
+import bitronix.tm.utils.UidGenerator;
+import bitronix.tm.utils.*;
+import org.slf4j.LoggerFactory;
+import org.slf4j.Logger;
+
+import java.io.UnsupportedEncodingException;
+import java.util.*;
+import java.util.zip.CRC32;
+
+/**
+ * Representation of a transaction log record on disk.
+ * <p>On-disk format has been implemented following Mike Spille's recommendations. Quoting him:</p>
+ *
+ * <i><p><code>[RECORD_TYPE :4] [RECORD_LEN :4] [HEADER_LEN :4] [System.currentTimeMillis :8] [Sequence number :4]
+ * [Checksum :4] [Payload :X] [END_RECORD_INDICATOR :4]</code></p>
+ * <p>Where [RECORD_TYPE] is a passed-in record type from the TM. [RECORD_LEN] is the overall record length
+ * (sans [RECORD_TYPE and [RECORD_LEN]). [HEADER_LEN] is the length of the remainder of the header - important if you
+ * want to support easy upgrades of your format. The remaining pieces are the rest of the header, and the payload. The
+ * header at least should have [System.currentTimeMillis] and [Sequence number], with the [sequence number] coming from
+ * some monotically increasing sequence generator unique to the process. The [checksum] is optional for the paranoid
+ * among us. The time information can be very useful for profiling and tracking down problems in production, and in
+ * conjunction with the sequence number it can give you precise ordering. This doesn't give you much in this solution,
+ * but can be priceless if you ever move to a system with multiple dual log file pairs to lessen single-threading on a
+ * single log file pair. Finally, I like having an [END_RECORD_INDICATOR] as an extra corruption detector device - I'm
+ * a suspenders and belt kind of guy. Actually, the END_RECORD_INDICATOR and [RECORD_LEN] in conjunction are very
+ * useful in development, as well, to catch programming mistakes in the log system early.</p></i>
+ *
+ * <p>Payload contains <code>[GTRID LENGTH :1] [GTRID :A] [UNIQUE NAMES COUNT :4] ([UNIQUE NAME LENGTH :2] [UNIQUE NAME :Y] ...)</code>
+ * which makes a major difference with Mike's proposed format because here a record can vary in length: the GTRID size
+ * is A bytes long (A being the GTRID length) and there can be X unique names that are Y characters long, Y being eventually
+ * different for each name.</p>
+ *
+ * @see <a href="http://jroller.com/page/pyrasun?entry=xa_exposed_part_iii_the">XA Exposed, Part III: The Implementor's Notebook</a>
+ * @author lorban
+ */
+public class TransactionLogRecord {
+
+ private final static Logger log = LoggerFactory.getLogger(TransactionLogRecord.class);
+
+ private int status;
+ private int recordLength;
+ private int headerLength;
+ private long time;
+ private int sequenceNumber;
+ private int crc32;
+ private Uid gtrid;
+ private SortedSet uniqueNames;
+ private int endRecord;
+
+ /**
+ * Use this constructor when restoring a log from the disk.
+ * @param status record type
+ * @param recordLength record length excluding status and recordLength
+ * @param headerLength length of all fields except gtrid, uniqueNames and endRecord
+ * @param time current time in milliseconds
+ * @param sequenceNumber atomically generated sequence number during a JVM's lifespan
+ * @param crc32 checksum of the full record
+ * @param gtrid global transaction id
+ * @param uniqueNames unique names of XA data sources used in this transaction
+ * @param endRecord end of record marker
+ */
+ public TransactionLogRecord(int status, int recordLength, int headerLength, long time, int sequenceNumber, int crc32, Uid gtrid, Set uniqueNames, int endRecord) {
+ this.status = status;
+ this.recordLength = recordLength;
+ this.headerLength = headerLength;
+ this.time = time;
+ this.sequenceNumber = sequenceNumber;
+ this.crc32 = crc32;
+ this.gtrid = gtrid;
+ this.uniqueNames = new TreeSet(uniqueNames);
+ this.endRecord = endRecord;
+ }
+
+ /**
+ * Create a new transaction log ready to be stored.
+ * @param status record type
+ * @param gtrid global transaction id
+ * @param uniqueNames unique names of XA data sources used in this transaction
+ */
+ public TransactionLogRecord(int status, Uid gtrid, Set uniqueNames) {
+ this.status = status;
+ time = System.currentTimeMillis();
+ sequenceNumber = UidGenerator.getNextSequenceNumber();
+ this.gtrid = gtrid;
+ this.uniqueNames = new TreeSet(uniqueNames);
+ endRecord = TransactionLogAppender.END_RECORD;
+
+ refresh();
+ }
+
+ public int getStatus() {
+ return status;
+ }
+
+ public int getRecordLength() {
+ return recordLength;
+ }
+
+ public int getHeaderLength() {
+ return headerLength;
+ }
+
+ public long getTime() {
+ return time;
+ }
+
+ public int getSequenceNumber() {
+ return sequenceNumber;
+ }
+
+ public int getCrc32() {
+ return crc32;
+ }
+
+ public Uid getGtrid() {
+ return gtrid;
+ }
+
+ public Set getUniqueNames() {
+ return Collections.unmodifiableSortedSet(uniqueNames);
+ }
+
+ public int getEndRecord() {
+ return endRecord;
+ }
+
+
+ public void removeUniqueNames(Collection namesToRemove) {
+ uniqueNames.removeAll(namesToRemove);
+ refresh();
+ }
+
+ /**
+ * Recalculate and store the dynamic values of this record: {@link #getRecordLength()}, {@link #getRecordHeaderLength()}
+ * and {@link #calculateCrc32()}. This method must be called each time after the set of contained unique names is updated.
+ */
+ private void refresh() {
+ recordLength = calculateRecordLength(uniqueNames);
+ headerLength = getRecordHeaderLength();
+ crc32 = calculateCrc32();
+ }
+
+ /**
+ * Recalculate the CRC32 value of this record (using {@link #calculateCrc32()}) and compare it with the stored value.
+ * @return true if the recalculated value equals the stored one, false otherwise.
+ */
+ public boolean isCrc32Correct() {
+ return calculateCrc32() == getCrc32();
+ }
+
+ /**
+ * Calculate the CRC32 value of this record.
+ * @return the CRC32 value of this record.
+ */
+ public int calculateCrc32() {
+ CRC32 crc32 = new CRC32();
+ crc32.update(Encoder.intToBytes(status));
+ crc32.update(Encoder.intToBytes(recordLength));
+ crc32.update(Encoder.intToBytes(headerLength));
+ crc32.update(Encoder.longToBytes(time));
+ crc32.update(Encoder.intToBytes(sequenceNumber));
+ crc32.update(gtrid.getArray());
+ crc32.update(Encoder.intToBytes(uniqueNames.size()));
+
+ Iterator it = uniqueNames.iterator();
+ while (it.hasNext()) {
+ String name = (String) it.next();
+ crc32.update(Encoder.shortToBytes((short) name.length()));
+ try {
+ crc32.update(name.getBytes("US-ASCII"));
+ } catch (UnsupportedEncodingException ex) {
+ log.error("unable to convert unique name bytes to US-ASCII", ex);
+ }
+ }
+
+ crc32.update(Encoder.intToBytes(endRecord));
+ return (int) crc32.getValue();
+ }
+
+ public String toString() {
+ StringBuffer sb = new StringBuffer(128);
+
+ sb.append("a Bitronix TransactionLogRecord with ");
+ sb.append("status="); sb.append(Decoder.decodeStatus(status)); sb.append(", ");
+ sb.append("recordLength="); sb.append(recordLength); sb.append(", ");
+ sb.append("headerLength="); sb.append(headerLength); sb.append(", ");
+ sb.append("time="); sb.append(time); sb.append(", ");
+ sb.append("sequenceNumber="); sb.append(sequenceNumber); sb.append(", ");
+ sb.append("crc32="); sb.append(crc32); sb.append(", ");
+ sb.append("gtrid="); sb.append(gtrid.toString()); sb.append(", ");
+ sb.append("uniqueNames=");
+ Iterator it = uniqueNames.iterator();
+ while (it.hasNext()) {
+ Object o = it.next();
+ sb.append(o);
+ if (it.hasNext())
+ sb.append(',');
+ }
+
+ return sb.toString();
+ }
+
+
+ /**
+ * this is the total size on disk of a TransactionLog.
+ * @return recordLength
+ */
+ int calculateTotalRecordSize() {
+ return calculateRecordLength(uniqueNames) + 4 + 4; // + status + record length
+ }
+
+ /**
+ * this is the value needed by field recordLength in the TransactionLog.
+ * @param uniqueNames the unique names ofthe record.
+ * @return recordLength
+ */
+ private int calculateRecordLength(Set uniqueNames) {
+ int totalSize = 0;
+
+ Iterator it = uniqueNames.iterator();
+ while (it.hasNext()) {
+ String uniqueName = (String) it.next();
+ totalSize += 2 + uniqueName.length(); // 2 bytes for storing the unique name length + unique name length
+ }
+
+ totalSize += getFixedRecordLength();
+
+ return totalSize;
+ }
+
+ /**
+ * Length of all the fixed size fields part of the record length header except status and record length.
+ * @return fixedRecordLength
+ */
+ private int getFixedRecordLength() {
+ return 4 + 8 + 4 + 4 + 1 + gtrid.getArray().length + 4 + 4; // record header length + current time + sequence number + checksum + GTRID size + GTRID + unique names count + end record marker
+ }
+
+ /**
+ * Value needed by field headerLength in the TransactionLog.
+ * @return headerLength
+ */
+ private int getRecordHeaderLength() {
+ return 4 + 4 + 4 + 8 + 4 + 4; // status + record length + record header length + current time + sequence number + checksum
+ }
+
+
+}
diff --git a/src/bitronix/tm/journal/package.html b/src/bitronix/tm/journal/package.html
new file mode 100644
index 0000000..3b37aae
--- /dev/null
+++ b/src/bitronix/tm/journal/package.html
@@ -0,0 +1,7 @@
+<html>
+<body>
+ <p>
+ Transactions disk journal.
+ </p>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/bitronix/tm/package.html b/src/bitronix/tm/package.html
new file mode 100644
index 0000000..9a8d822
--- /dev/null
+++ b/src/bitronix/tm/package.html
@@ -0,0 +1,7 @@
+<html>
+<body>
+ <p>
+ JTA interfaces implementations and global services.
+ </p>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/bitronix/tm/recovery/DanglingTransaction.java b/src/bitronix/tm/recovery/DanglingTransaction.java
new file mode 100644
index 0000000..6f14fb1
--- /dev/null
+++ b/src/bitronix/tm/recovery/DanglingTransaction.java
@@ -0,0 +1,66 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.recovery;
+
+import javax.transaction.xa.Xid;
+
+/**
+ * Simple bean containing a unique resource name paired with a XID corresponding to a branch on that resource.
+ *
+ * @author lorban
+ */
+public class DanglingTransaction {
+
+ private String uniqueName;
+ private Xid xid;
+
+ public DanglingTransaction(String uniqueName, Xid xid) {
+ if (uniqueName == null)
+ throw new NullPointerException("uniqueName cannot be null");
+ if (xid == null)
+ throw new NullPointerException("xid cannot be null");
+ this.uniqueName = uniqueName;
+ this.xid = xid;
+ }
+
+ public String getUniqueName() {
+ return uniqueName;
+ }
+
+ public Xid getXid() {
+ return xid;
+ }
+
+ public int hashCode() {
+ return uniqueName.hashCode() + xid.hashCode();
+ }
+
+ public boolean equals(Object obj) {
+ if (obj instanceof DanglingTransaction) {
+ DanglingTransaction otherDanglingTransaction = (DanglingTransaction) obj;
+
+ return uniqueName.equals(otherDanglingTransaction.uniqueName) &&
+ xid.equals(otherDanglingTransaction.xid);
+ }
+ return false;
+ }
+
+}
diff --git a/src/bitronix/tm/recovery/IncrementalRecoverer.java b/src/bitronix/tm/recovery/IncrementalRecoverer.java
new file mode 100644
index 0000000..d037a0d
--- /dev/null
+++ b/src/bitronix/tm/recovery/IncrementalRecoverer.java
@@ -0,0 +1,128 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.recovery;
+
+import bitronix.tm.resource.common.XAResourceProducer;
+import bitronix.tm.internal.XAResourceHolderState;
+import bitronix.tm.BitronixXid;
+import bitronix.tm.TransactionManagerServices;
+import bitronix.tm.journal.TransactionLogRecord;
+import bitronix.tm.utils.Uid;
+import bitronix.tm.utils.Decoder;
+
+import java.util.Set;
+import java.util.Map;
+import java.util.Iterator;
+import java.util.HashSet;
+import java.io.IOException;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.transaction.Status;
+import javax.transaction.xa.XAException;
+
+/**
+ * Incremental resource recoverer.
+ *
+ * @author lorban
+ */
+public class IncrementalRecoverer {
+
+ private final static Logger log = LoggerFactory.getLogger(IncrementalRecoverer.class);
+
+ /**
+ * Run incremental recovery on the specified resource.
+ * @param xaResourceProducer the resource to recover.
+ * @throws RecoveryException when an error preventing recovery happens.
+ */
+ public static void recover(XAResourceProducer xaResourceProducer) throws RecoveryException {
+ String uniqueName = xaResourceProducer.getUniqueName();
+ if (log.isDebugEnabled()) log.debug("start of incremental recovery on resource " + uniqueName);
+
+ try {
+ XAResourceHolderState xaResourceHolderState = xaResourceProducer.startRecovery();
+ boolean success = true;
+ Set xids = RecoveryHelper.recover(xaResourceHolderState);
+ if (log.isDebugEnabled()) log.debug(xids.size() + " dangling transaction(s) found on resource");
+ Map danglingRecords = TransactionManagerServices.getJournal().collectDanglingRecords();
+ if (log.isDebugEnabled()) log.debug(danglingRecords.size() + " dangling transaction(s) found in journal");
+
+ int commitCount = 0;
+ int rollbackCount = 0;
+ Iterator it = xids.iterator();
+ while (it.hasNext()) {
+ BitronixXid xid = (BitronixXid) it.next();
+ Uid gtrid = xid.getGlobalTransactionIdUid();
+
+ TransactionLogRecord tlog = (TransactionLogRecord) danglingRecords.get(gtrid);
+ if (tlog != null) {
+ if (log.isDebugEnabled()) log.debug("committing " + xid);
+ success &= RecoveryHelper.commit(xaResourceHolderState, xid);
+ updateJournal(xid.getGlobalTransactionIdUid(), uniqueName, Status.STATUS_COMMITTED);
+ commitCount++;
+ }
+ else {
+ if (log.isDebugEnabled()) log.debug("rolling back " + xid);
+ success &= RecoveryHelper.rollback(xaResourceHolderState, xid);
+ updateJournal(xid.getGlobalTransactionIdUid(), uniqueName, Status.STATUS_ROLLEDBACK);
+ rollbackCount++;
+ }
+ }
+
+ // if recovery isn't successful we don't mark the resource as failed: heuristics might have happened
+ // but communication with the resouce is working.
+ if (!success)
+ throw new RecoveryException("error recovering resource '" + uniqueName + "' due to an incompatible heuristic decision");
+
+ xaResourceProducer.setFailed(false);
+
+ log.info("incremental recovery committed " + commitCount + " dangling transaction(s) and rolled back " + rollbackCount +
+ " aborted transaction(s) on resource [" + uniqueName + "]" +
+ ((TransactionManagerServices.getConfiguration().isCurrentNodeOnlyRecovery()) ? " (restricted to serverId '" + TransactionManagerServices.getConfiguration().getServerId() + "')" : ""));
+
+ } catch (XAException ex) {
+ xaResourceProducer.setFailed(true);
+ throw new RecoveryException("failed recovering resource " + uniqueName, ex);
+ } catch (IOException ex) {
+ xaResourceProducer.setFailed(true);
+ throw new RecoveryException("failed recovering resource " + uniqueName, ex);
+ } catch (RuntimeException ex) {
+ xaResourceProducer.setFailed(true);
+ throw new RecoveryException("failed recovering resource " + uniqueName, ex);
+ } catch (RecoveryException ex) {
+ xaResourceProducer.setFailed(true);
+ throw ex;
+ } finally {
+ xaResourceProducer.endRecovery();
+ if (log.isDebugEnabled()) log.debug("end of incremental recovery on resource " + uniqueName);
+ }
+ }
+
+ private static void updateJournal(Uid gtrid, String uniqueName, int status) throws IOException {
+ if (log.isDebugEnabled()) log.debug("updating journal, adding " + Decoder.decodeStatus(status) + " entry for [" + uniqueName + "] on GTRID [" + gtrid + "]");
+ Set participatingUniqueNames = new HashSet();
+ participatingUniqueNames.add(uniqueName);
+ TransactionManagerServices.getJournal().log(status, gtrid, participatingUniqueNames);
+ }
+
+
+}
diff --git a/src/bitronix/tm/recovery/Recoverer.java b/src/bitronix/tm/recovery/Recoverer.java
new file mode 100644
index 0000000..edc53a2
--- /dev/null
+++ b/src/bitronix/tm/recovery/Recoverer.java
@@ -0,0 +1,548 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.recovery;
+
+import bitronix.tm.BitronixXid;
+import bitronix.tm.TransactionManagerServices;
+import bitronix.tm.utils.Decoder;
+import bitronix.tm.utils.ManagementRegistrar;
+import bitronix.tm.utils.Uid;
+import bitronix.tm.utils.Service;
+import bitronix.tm.internal.*;
+import bitronix.tm.journal.TransactionLogRecord;
+import bitronix.tm.resource.ResourceLoader;
+import bitronix.tm.resource.ResourceRegistrar;
+import bitronix.tm.resource.common.XAResourceProducer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.transaction.Status;
+import javax.transaction.xa.XAException;
+import javax.transaction.xa.XAResource;
+import javax.transaction.xa.Xid;
+import java.io.IOException;
+import java.util.*;
+
+/**
+ * Recovery process implementation. Here is Mike Spille's description of XA recovery:
+ * <p>
+ * Straight Line Recovery:
+ * <ul>
+ * <li>1. Find transactions that the TM considers dangling and unresolved</li>
+ * <li>2. Find and reconstitute any {@link XAResource}s which were being used when chunk blowing occured.</li>
+ * <li>3. Call the <code>recover()</code> method on each of these {@link XAResource}s.</li>
+ * <li>4. Throw out any {@link Xid}'s in the {@link XAResource}' recover lists which are not owned by this TM.</li>
+ * <li>5. Correlate {@link Xid}'s that the TM knows about with remaining {@link Xid}'s that the {@link XAResource}s
+ * reported.</li>
+ * <li>6. For {@link XAResource} {@link Xid}'s that match the global transaction ID which the TM found dangling with
+ * a "Committing..." record, call <code>commit()</code> on those {@link XAResource}s for those {@link Xid}s.</li>
+ * <li>7. For {@link XAResource} {@link Xid}'s that do not match any dangling "Committing..." records, call
+ * <code>rollback()</code> on those {@link XAResource}s for those {@link Xid}s.</li>
+ * </ul>
+ * Exceptional conditions:
+ * <ul>
+ * <li>1. For any <code>rollback()</code> calls from step 6 which reported a Heuristic Commit, you are in danger or
+ * doubt, so run in circles, scream and shout.</li>
+ * <li>2. For any <code>commit()</code> calls from step 7 which reported a Heuristic Rollback, you are in danger or
+ * doubt, so run in circles, scream and shout.</li>
+ * <li>3. For any resource you can't reconstitute in in step #2, or who fails on recover in step #3, or who reports
+ * anything like an XAER_RMFAILURE in step 6 or step 7, keep trying to contact them in some implementation
+ * defined manner.</li>
+ * <li>4. For any heuristic outcome you see reported from an XAResource, call <code>forget()</code> for that
+ * {@link XAResource}/{@link Xid} pair so that the resource can stop holding onto a reference to that transaction</li>
+ * </ul>
+ * </p>
+ * <p>To achieve this, {@link Recoverer} must have access to all previously used resources, even if the journal contains
+ * no trace of some of them. There are two ways of achieving this: either you use the {@link ResourceLoader} to configure
+ * all your resources and everything will be working automatically or by making sure resources are re-created and re-registered.</p>
+ * <p>Those are the three steps of the Bitronix implementation:
+ * <ul>
+ * <li>call <code>recover()</code> on all known resources (Mike's steps 1 to 5)</li>
+ * <li>commit dangling COMMITTING transactions (Mike's step 6)</li>
+ * <li>rollback any remaining recovered transaction (Mike's step 7)</li>
+ * </ul></p>
+ *
+ * @author lorban
+ */
+public class Recoverer implements Runnable, Service, RecovererMBean {
+
+ private final static Logger log = LoggerFactory.getLogger(Recoverer.class);
+
+ private final Map registeredResources = new HashMap();
+ private final Map recoveredXidSets = new HashMap();
+
+ private volatile Exception completionException;
+ private volatile int committedCount;
+ private volatile int rolledbackCount;
+ private volatile int executionsCount;
+ private final AtomicBoolean isRunning = new AtomicBoolean(false);
+ private final String jmxName;
+
+
+ public Recoverer() {
+ String serverId = TransactionManagerServices.getConfiguration().getServerId();
+ if (serverId == null) serverId = "";
+ this.jmxName = "bitronix.tm:type=Recoverer,ServerId=" + ManagementRegistrar.makeValidName(serverId);
+ ManagementRegistrar.register(jmxName, this);
+ }
+
+ public void shutdown() {
+ ManagementRegistrar.unregister(jmxName);
+ }
+
+ /**
+ * Run the recovery process. This method is automatically called by the transaction manager, you should never
+ * call it manually.
+ */
+ public void run() {
+ if (!isRunning.compareAndSet(false, true)) {
+ log.info("recoverer is already running, abandoning this recovery request");
+ return;
+ }
+
+ try {
+ committedCount = 0;
+ rolledbackCount = 0;
+ long oldestTransactionTimestamp = Long.MAX_VALUE;
+
+ // Query resources from ResourceRegistrar
+ synchronized (ResourceRegistrar.class) {
+ Iterator it = ResourceRegistrar.getResourcesUniqueNames().iterator();
+ while (it.hasNext()) {
+ String name = (String) it.next();
+ registeredResources.put(name, ResourceRegistrar.get(name));
+ }
+
+ if (TransactionManagerServices.isTransactionManagerRunning()) {
+ oldestTransactionTimestamp = TransactionManagerServices.getTransactionManager().getOldestInFlightTransactionTimestamp();
+ }
+ }
+
+ Map danglingRecords = TransactionManagerServices.getJournal().collectDanglingRecords();
+
+ // 1. call recover on all known resources
+ recoverAllResources();
+
+ // 2. commit dangling COMMITTING transactions
+ Set committedGtrids = commitDanglingTransactions(oldestTransactionTimestamp, danglingRecords);
+ committedCount = committedGtrids.size();
+
+ // 3. rollback any remaining recovered transaction
+ rolledbackCount = rollbackAbortedTransactions(oldestTransactionTimestamp, committedGtrids);
+
+ if (executionsCount == 0 || committedCount > 0 || rolledbackCount > 0) {
+ log.info("recovery committed " + committedCount + " dangling transaction(s) and rolled back " + rolledbackCount +
+ " aborted transaction(s) on " + registeredResources.size() + " resource(s) [" + getRegisteredResourcesUniqueNames() + "]" +
+ ((TransactionManagerServices.getConfiguration().isCurrentNodeOnlyRecovery()) ? " (restricted to serverId '" + TransactionManagerServices.getConfiguration().getServerId() + "')" : ""));
+ }
+ else if (log.isDebugEnabled()) {
+ log.debug("recovery committed " + committedCount + " dangling transaction(s) and rolled back " + rolledbackCount +
+ " aborted transaction(s) on " + registeredResources.size() + " resource(s) [" + getRegisteredResourcesUniqueNames() + "]" +
+ ((TransactionManagerServices.getConfiguration().isCurrentNodeOnlyRecovery()) ? " (restricted to serverId '" + TransactionManagerServices.getConfiguration().getServerId() + "')" : ""));
+ }
+ this.completionException = null;
+ } catch (Exception ex) {
+ this.completionException = ex;
+ log.warn("recovery failed, registered resource(s): " + getRegisteredResourcesUniqueNames(), ex);
+ }
+ finally {
+ recoveredXidSets.clear();
+ registeredResources.clear();
+ executionsCount++;
+ isRunning.set(false);
+ }
+ }
+
+ /**
+ * Get the exception reported when recovery failed.
+ * @return the exception that made recovery fail or null if last recovery execution was successful.
+ */
+ public Exception getCompletionException() {
+ return completionException;
+ }
+
+ /**
+ * Get the amount of transactions committed during the last recovery run.
+ * @return the amount of committed transactions.
+ */
+ public int getCommittedCount() {
+ return committedCount;
+ }
+
+ /**
+ * Get the amount of transactions rolled back during the last recovery run.
+ * @return the amount of rolled back transactions.
+ */
+ public int getRolledbackCount() {
+ return rolledbackCount;
+ }
+
+ /**
+ * Get how many times the recoverer has run since the transaction manager started.
+ * @return how many times the recoverer has run since the transaction manager started.
+ */
+ public int getExecutionsCount() {
+ return executionsCount;
+ }
+
+ /**
+ * Check if the recoverer currently is running.
+ * @return true if the recoverer currently is running, false otherwise.
+ */
+ public boolean isRunning() {
+ return isRunning.get();
+ }
+
+ /**
+ * Recover all configured resources and fill the <code>recoveredXidSets</code> with all recovered XIDs.
+ * Step 1.
+ */
+ private void recoverAllResources() {
+ Iterator it = new HashMap(registeredResources).entrySet().iterator(); // a cloned registeredResources Map must be iterated as the original one can be modified in the loop
+ while (it.hasNext()) {
+ Map.Entry entry = (Map.Entry) it.next();
+ String uniqueName = (String) entry.getKey();
+ XAResourceProducer producer = (XAResourceProducer) entry.getValue();
+
+ try {
+ if (log.isDebugEnabled()) log.debug("performing recovery on " + uniqueName);
+ Set xids = recover(producer);
+ if (log.isDebugEnabled()) log.debug("recovered " + xids.size() + " XID(s) from resource " + uniqueName);
+ recoveredXidSets.put(uniqueName, xids);
+ producer.setFailed(false);
+ } catch (XAException ex) {
+ producer.setFailed(true);
+ registeredResources.remove(uniqueName);
+ log.warn("error running recovery on resource '" + uniqueName + "', resource marked as failed (background recoverer will retry recovery) (error=" + Decoder.decodeXAExceptionErrorCode(ex) + ")", ex);
+ } catch (Exception ex) {
+ producer.setFailed(true);
+ registeredResources.remove(uniqueName);
+ log.warn("error running recovery on resource '" + uniqueName + "', resource marked as failed (background recoverer will retry recovery)", ex);
+ }
+ }
+ }
+
+ /**
+ * Run the recovery process on the target resource.
+ * Step 1.
+ * @return a Set of BitronixXids.
+ * @param producer the {@link XAResourceProducer} to recover.
+ * @throws javax.transaction.xa.XAException if {@link XAResource#recover(int)} call fails.
+ * @throws RecoveryException if an error preventing recovery happened.
+ */
+ private Set recover(XAResourceProducer producer) throws XAException, RecoveryException {
+ if (producer == null)
+ throw new IllegalArgumentException("recoverable resource cannot be null");
+
+ try {
+ if (log.isDebugEnabled()) log.debug("running recovery on " + producer);
+ XAResourceHolderState xaResourceHolderState = producer.startRecovery();
+ return RecoveryHelper.recover(xaResourceHolderState);
+ } finally {
+ producer.endRecovery();
+ }
+ }
+
+ /**
+ * Commit transactions that have a dangling COMMITTING record in the journal.
+ * Step 2.
+ * @param oldestTransactionTimestamp the timestamp of the oldest transaction still in-flight.
+ * @param danglingRecords a Map using Uid objects GTRID as key and {@link TransactionLogRecord} as value.
+ * @return a Set of all committed GTRIDs encoded as strings.
+ * @throws java.io.IOException if there is an I/O error reading the journal.
+ * @throws RecoveryException if an error preventing recovery happened.
+ */
+ private Set commitDanglingTransactions(long oldestTransactionTimestamp, Map danglingRecords) throws IOException, RecoveryException {
+ Set committedGtrids = new HashSet();
+
+ if (log.isDebugEnabled()) log.debug("found " + danglingRecords.size() + " dangling record(s) in journal");
+ Iterator it = danglingRecords.entrySet().iterator();
+ while (it.hasNext()) {
+ Map.Entry entry = (Map.Entry) it.next();
+ Uid gtrid = (Uid) entry.getKey();
+ TransactionLogRecord tlog = (TransactionLogRecord) entry.getValue();
+
+ Set uniqueNames = tlog.getUniqueNames();
+ Set danglingTransactions = getDanglingTransactionsInRecoveredXids(uniqueNames, tlog.getGtrid());
+
+ long txTimestamp = gtrid.extractTimestamp();
+ if (log.isDebugEnabled()) log.debug("recovered XID timestamp: " + txTimestamp + " - oldest in-flight TX timestamp: " + oldestTransactionTimestamp);
+
+ if (txTimestamp < oldestTransactionTimestamp) {
+ if (log.isDebugEnabled()) log.debug("committing dangling transaction with GTRID " + gtrid);
+ commit(danglingTransactions);
+ if (log.isDebugEnabled()) log.debug("committed dangling transaction with GTRID " + gtrid);
+ committedGtrids.add(gtrid);
+
+ Set participatingUniqueNames = filterParticipatingUniqueNamesInRecoveredXids(uniqueNames);
+
+ if (participatingUniqueNames.size() > 0) {
+ if (log.isDebugEnabled()) log.debug("updating journal's transaction with GTRID " + gtrid + " status to COMMITTED for names [" + buildUniqueNamesString(participatingUniqueNames) + "]");
+ TransactionManagerServices.getJournal().log(Status.STATUS_COMMITTED, tlog.getGtrid(), participatingUniqueNames);
+ }
+ else {
+ if (log.isDebugEnabled()) log.debug("not updating journal's transaction with GTRID " + gtrid + " status to COMMITTED as no resource could be found (incremental recovery will need to clean this)");
+ committedGtrids.remove(gtrid);
+ }
+ }
+ else {
+ if (log.isDebugEnabled()) log.debug("skipping in-flight transaction with GTRID " + gtrid);
+ }
+ }
+ if (log.isDebugEnabled()) log.debug("committed " + committedGtrids.size() + " dangling transaction(s)");
+ return committedGtrids;
+ }
+
+ /**
+ * Return {@link DanglingTransaction}s with {@link Xid}s corresponding to the GTRID parameter found in resources
+ * specified by their <code>uniqueName</code>s.
+ * <code>recoverAllResources</code> must have been called before or else the returned list will always be empty.
+ * Step 2.
+ * @param uniqueNames a set of <code>uniqueName</code>s.
+ * @param gtrid the GTRID to look for.
+ * @return a set of {@link DanglingTransaction}s.
+ */
+ private Set getDanglingTransactionsInRecoveredXids(Set uniqueNames, Uid gtrid) {
+ Set danglingTransactions = new HashSet();
+
+ Iterator it = uniqueNames.iterator();
+ while (it.hasNext()) {
+ String uniqueName = (String) it.next();
+ if (log.isDebugEnabled()) log.debug("finding dangling transaction(s) in recovered XID(s) of resource " + uniqueName);
+ Set recoveredXids = (Set) recoveredXidSets.get(uniqueName);
+ if (recoveredXids == null) {
+ if (log.isDebugEnabled()) log.debug("resource " + uniqueName + " did not recover, skipping commit");
+ continue;
+ }
+
+ Iterator it2 = recoveredXids.iterator();
+ while (it2.hasNext()) {
+ BitronixXid recoveredXid = (BitronixXid) it2.next();
+ if (gtrid.equals(recoveredXid.getGlobalTransactionIdUid())) {
+ if (log.isDebugEnabled()) log.debug("found a recovered XID matching dangling log's GTRID " + gtrid + " in resource " + uniqueName);
+ danglingTransactions.add(new DanglingTransaction(uniqueName, recoveredXid));
+ }
+ } // while it2.hasNext()
+ }
+
+ return danglingTransactions;
+ }
+
+ private Set filterParticipatingUniqueNamesInRecoveredXids(Set uniqueNames) {
+ Set recoveredUniqueNames = new HashSet();
+
+ Iterator it = uniqueNames.iterator();
+ while (it.hasNext()) {
+ String uniqueName = (String) it.next();
+ if (log.isDebugEnabled()) log.debug("finding dangling transaction(s) in recovered XID(s) of resource " + uniqueName);
+ Set recoveredXids = (Set) recoveredXidSets.get(uniqueName);
+ if (recoveredXids == null) {
+ if (log.isDebugEnabled()) log.debug("cannot find resource '" + uniqueName + "' present in the journal, leaving it for incremental recovery");
+ }
+ else {
+ recoveredUniqueNames.add(uniqueName);
+ }
+ }
+
+ return recoveredUniqueNames;
+ }
+
+ /**
+ * Commit all branches of a dangling transaction.
+ * Step 2.
+ * @param danglingTransactions a set of {@link DanglingTransaction}s to commit.
+ * @throws RecoveryException if an error preventing recovery happened.
+ */
+ private void commit(Set danglingTransactions) throws RecoveryException {
+ if (log.isDebugEnabled()) log.debug(danglingTransactions.size() + " branch(es) to commit");
+
+ Iterator it = danglingTransactions.iterator();
+ while (it.hasNext()) {
+ DanglingTransaction danglingTransaction = (DanglingTransaction) it.next();
+ Xid xid = danglingTransaction.getXid();
+ String uniqueName = danglingTransaction.getUniqueName();
+
+ if (log.isDebugEnabled()) log.debug("committing branch with XID " + xid + " on " + uniqueName);
+ commit(uniqueName, xid);
+ }
+ }
+
+ /**
+ * Commit the specified branch of a dangling transaction.
+ * Step 2.
+ * @param uniqueName the unique name of the resource on which the commit should be done.
+ * @param xid the {@link Xid} to commit.
+ * @return true when commit was successful.
+ * @throws RecoveryException if an error preventing recovery happened.
+ */
+ private boolean commit(String uniqueName, Xid xid) throws RecoveryException {
+ XAResourceProducer producer = (XAResourceProducer) registeredResources.get(uniqueName);
+ try {
+ XAResourceHolderState xaResourceHolderState = producer.startRecovery();
+ return RecoveryHelper.commit(xaResourceHolderState, xid);
+ } finally {
+ producer.endRecovery();
+ }
+ }
+
+ /**
+ * Rollback branches whose {@link Xid} has been recovered on the resource but hasn't been committed.
+ * Those are the 'aborted' transactions of the Presumed Abort protocol.
+ * Step 3.
+ * @param oldestTransactionTimestamp the timestamp of the oldest transaction still in-flight.
+ * @param committedGtrids a set of {@link Uid}s already committed on this resource.
+ * @return the rolled back branches count.
+ * @throws RecoveryException if an error preventing recovery happened.
+ */
+ private int rollbackAbortedTransactions(long oldestTransactionTimestamp, Set committedGtrids) throws RecoveryException {
+ if (log.isDebugEnabled()) log.debug("rolling back aborted branch(es)");
+ int rollbackCount = 0;
+ Iterator it = recoveredXidSets.entrySet().iterator();
+ while (it.hasNext()) {
+ Map.Entry entry = (Map.Entry) it.next();
+ String uniqueName = (String) entry.getKey();
+ Set recoveredXids = (Set) entry.getValue();
+
+ if (log.isDebugEnabled()) log.debug("checking " + recoveredXids.size() + " branch(es) on " + uniqueName + " for rollback");
+ int count = rollbackAbortedBranchesOfResource(oldestTransactionTimestamp, uniqueName, recoveredXids, committedGtrids);
+ if (log.isDebugEnabled()) log.debug("checked " + recoveredXids.size() + " branch(es) on " + uniqueName + " for rollback");
+ rollbackCount += count;
+ }
+
+ if (log.isDebugEnabled()) log.debug("rolled back " + rollbackCount + " aborted branch(es)");
+ return rollbackCount;
+ }
+
+ /**
+ * Rollback aborted branches of the resource specified by uniqueName.
+ * Step 3.
+ * @param oldestTransactionTimestamp the timestamp of the oldest transaction still in-flight.
+ * @param uniqueName the unique name of the resource on which to rollback branches.
+ * @param recoveredXids a set of {@link BitronixXid} recovered on the reource.
+ * @param committedGtrids a set of {@link Uid}s already committed on the resource.
+ * @return the rolled back branches count.
+ * @throws RecoveryException if an error preventing recovery happened.
+ */
+ private int rollbackAbortedBranchesOfResource(long oldestTransactionTimestamp, String uniqueName, Set recoveredXids, Set committedGtrids) throws RecoveryException {
+ int abortedCount = 0;
+ Iterator it = recoveredXids.iterator();
+ while (it.hasNext()) {
+ BitronixXid recoveredXid = (BitronixXid) it.next();
+ if (committedGtrids.contains(recoveredXid.getGlobalTransactionIdUid())) {
+ if (log.isDebugEnabled()) log.debug("XID has been committed, skipping rollback: " + recoveredXid + " on " + uniqueName);
+ continue;
+ }
+
+ long txTimestamp = recoveredXid.getGlobalTransactionIdUid().extractTimestamp();
+ if (log.isDebugEnabled()) log.debug("recovered XID timestamp: " + txTimestamp + " - oldest in-flight TX timestamp: " + oldestTransactionTimestamp);
+ if (txTimestamp >= oldestTransactionTimestamp) {
+ if (log.isDebugEnabled()) log.debug("skipping XID of in-flight transaction: " + recoveredXid);
+ continue;
+ }
+
+ if (log.isDebugEnabled()) log.debug("rolling back in-doubt branch with XID " + recoveredXid + " on " + uniqueName);
+ boolean success = rollback(uniqueName, recoveredXid);
+ if (success)
+ abortedCount++;
+ }
+ return abortedCount;
+ }
+
+ /**
+ * Rollback the specified branch of a dangling transaction.
+ * Step 3.
+ * @param uniqueName the unique name of the resource on which to rollback branches.
+ * @param xid the {@link Xid} to rollback.
+ * @return true when rollback was successful.
+ * @throws RecoveryException if an error preventing recovery happened.
+ */
+ private boolean rollback(String uniqueName, Xid xid) throws RecoveryException {
+ XAResourceProducer producer = (XAResourceProducer) registeredResources.get(uniqueName);
+ if (producer == null) {
+ if (log.isDebugEnabled()) log.debug("resource " + uniqueName + " has not recovered, skipping rollback");
+ return false;
+ }
+
+ try {
+ XAResourceHolderState xaResourceHolderState = producer.startRecovery();
+ return RecoveryHelper.rollback(xaResourceHolderState, xid);
+ } finally {
+ producer.endRecovery();
+ }
+ }
+
+ /**
+ * Build a string with comma-separated resources unique names.
+ * @return the string.
+ */
+ private String getRegisteredResourcesUniqueNames() {
+ return buildUniqueNamesString(registeredResources.keySet());
+ }
+
+ private static String buildUniqueNamesString(Set uniqueNames) {
+ StringBuffer resourcesUniqueNames = new StringBuffer();
+ Iterator it = uniqueNames.iterator();
+ while (it.hasNext()) {
+ String uniqueName = (String) it.next();
+ resourcesUniqueNames.append(uniqueName);
+ if (it.hasNext())
+ resourcesUniqueNames.append(", ");
+ }
+ return resourcesUniqueNames.toString();
+ }
+
+ /**
+ * A boolean value that may be updated atomically. This is a simplified subset of the JDK 1.5+
+ * java.util.concurrent.atomic.AtomicBoolean class.
+ */
+ private static class AtomicBoolean {
+ private boolean value;
+
+ public AtomicBoolean(boolean value) {
+ this.value = value;
+ }
+
+ public synchronized boolean get() {
+ return value;
+ }
+
+ public synchronized void set(boolean value) {
+ this.value = value;
+ }
+
+ /**
+ * Atomically sets the value to the given updated value if the current value == the expected value.
+ *
+ * @param expect the expected value.
+ * @param update the new value.
+ * @return true if successful. False return indicates that the actual value was not equal to the expected value.
+ */
+ public synchronized boolean compareAndSet(boolean expect, boolean update) {
+ if (this.value == expect) {
+ this.value = update;
+ return true;
+ }
+ return false;
+ }
+
+ }
+
+}
diff --git a/src/bitronix/tm/recovery/RecovererMBean.java b/src/bitronix/tm/recovery/RecovererMBean.java
new file mode 100644
index 0000000..f81c03b
--- /dev/null
+++ b/src/bitronix/tm/recovery/RecovererMBean.java
@@ -0,0 +1,42 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.recovery;
+
+/**
+ * {@link Recoverer} Management interface.
+ *
+ * @author lorban
+ */
+public interface RecovererMBean {
+
+ public void run();
+
+ public int getCommittedCount();
+
+ public int getRolledbackCount();
+
+ public Exception getCompletionException();
+
+ public int getExecutionsCount();
+
+ public boolean isRunning();
+
+}
diff --git a/src/bitronix/tm/recovery/RecoveryException.java b/src/bitronix/tm/recovery/RecoveryException.java
new file mode 100644
index 0000000..acf898f
--- /dev/null
+++ b/src/bitronix/tm/recovery/RecoveryException.java
@@ -0,0 +1,36 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.recovery;
+
+/**
+ * Thrown when an error occurs during recovery.
+ *
+ * @author lorban
+ */
+public class RecoveryException extends Exception {
+ public RecoveryException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public RecoveryException(String message) {
+ super(message);
+ }
+}
diff --git a/src/bitronix/tm/recovery/RecoveryHelper.java b/src/bitronix/tm/recovery/RecoveryHelper.java
new file mode 100644
index 0000000..c9e771d
--- /dev/null
+++ b/src/bitronix/tm/recovery/RecoveryHelper.java
@@ -0,0 +1,250 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.recovery;
+
+import bitronix.tm.internal.XAResourceHolderState;
+import bitronix.tm.BitronixXid;
+import bitronix.tm.TransactionManagerServices;
+import bitronix.tm.utils.Uid;
+import bitronix.tm.utils.Decoder;
+
+import javax.transaction.xa.XAException;
+import javax.transaction.xa.XAResource;
+import javax.transaction.xa.Xid;
+import java.util.Collections;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.Arrays;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Reovery helper methods.
+ *
+ * @author lorban
+ */
+public class RecoveryHelper {
+
+ private final static Logger log = LoggerFactory.getLogger(RecoveryHelper.class);
+
+ /**
+ * Run the recovery process on the target resource.
+ * @return a Set of BitronixXids.
+ * @param xaResourceHolderState the {@link XAResourceHolderState} to recover.
+ * @throws javax.transaction.xa.XAException if {@link XAResource#recover(int)} calls fail.
+ */
+ public static Set recover(XAResourceHolderState xaResourceHolderState) throws XAException {
+ Set xids = new HashSet();
+
+ if (log.isDebugEnabled()) log.debug("recovering with STARTRSCAN");
+ int xidCount;
+ try {
+ xidCount = recover(xaResourceHolderState, xids, XAResource.TMSTARTRSCAN);
+ } catch (XAException ex) {
+ if (xaResourceHolderState.getIgnoreRecoveryFailures()) {
+ if (log.isDebugEnabled()) log.debug("ignoring recovery failure on resource " + xaResourceHolderState, ex);
+ return Collections.emptySet();
+ }
+ throw ex;
+ }
+ if (log.isDebugEnabled()) log.debug("STARTRSCAN recovered " + xidCount + " xid(s) on " + xaResourceHolderState);
+
+ try {
+ while (xidCount > 0) {
+ if (log.isDebugEnabled()) log.debug("recovering with NOFLAGS");
+ xidCount = recover(xaResourceHolderState, xids, XAResource.TMNOFLAGS);
+ if (log.isDebugEnabled()) log.debug("NOFLAGS recovered " + xidCount + " xid(s) on " + xaResourceHolderState);
+ }
+ } catch (XAException ex) {
+ if (log.isDebugEnabled()) log.debug("NOFLAGS recovery call failed", ex);
+ }
+
+ try {
+ if (log.isDebugEnabled()) log.debug("recovering with ENDRSCAN");
+ xidCount = recover(xaResourceHolderState, xids, XAResource.TMENDRSCAN);
+ if (log.isDebugEnabled()) log.debug("ENDRSCAN recovered " + xidCount + " xid(s) on " + xaResourceHolderState);
+ } catch (XAException ex) {
+ if (log.isDebugEnabled()) log.debug("ENDRSCAN recovery call failed", ex);
+ }
+
+ return xids;
+ }
+
+ /**
+ * Call {@link XAResource#recover(int)} on the resource and fill the <code>alreadyRecoveredXids</code> Set
+ * with recovered {@link BitronixXid}s.
+ * Step 1.
+ * @return the amount of recovered {@link Xid}.
+ * @param resourceHolderState the {@link XAResourceHolderState} to recover.
+ * @param alreadyRecoveredXids a set of {@link Xid}s already recovered from this resource in this recovery session.
+ * @param flags any combination of {@link XAResource#TMSTARTRSCAN}, {@link XAResource#TMNOFLAGS} or {@link XAResource#TMENDRSCAN}.
+ * @throws javax.transaction.xa.XAException if {@link XAResource#recover(int)} call fails.
+ */
+ private static int recover(XAResourceHolderState resourceHolderState, Set alreadyRecoveredXids, int flags) throws XAException {
+ Xid[] xids = resourceHolderState.getXAResource().recover(flags);
+ if (xids == null)
+ return 0;
+
+ boolean currentNodeOnly = TransactionManagerServices.getConfiguration().isCurrentNodeOnlyRecovery();
+
+ Set freshlyRecoveredXids = new HashSet();
+ for (int i = 0; i < xids.length; i++) {
+ Xid xid = xids[i];
+ if (xid.getFormatId() != BitronixXid.FORMAT_ID) {
+ if (log.isDebugEnabled()) log.debug("skipping non-bitronix XID " + xid + "(format ID: " + xid.getFormatId() +
+ " GTRID: " + new Uid(xid.getGlobalTransactionId()) + "BQUAL: " + new Uid(xid.getBranchQualifier()) + ")");
+ continue;
+ }
+
+ BitronixXid bitronixXid = new BitronixXid(xid);
+
+ if (currentNodeOnly) {
+ if (log.isDebugEnabled()) log.debug("recovering XIDs generated by this node only - recovered XIDs' GTRID must contain this JVM uniqueId");
+ byte[] extractedServerId = bitronixXid.getGlobalTransactionIdUid().extractServerId();
+ byte[] jvmUniqueId = TransactionManagerServices.getConfiguration().buildServerIdArray();
+
+ if (extractedServerId == null) {
+ log.error("skipping XID " + bitronixXid + " as its GTRID's serverId is null. It looks like the disk journal is corrupted!");
+ continue;
+ }
+
+ if (!Arrays.equals(jvmUniqueId, extractedServerId)) {
+ String extractedServerIdString = new String(extractedServerId);
+ String jvmUniqueIdString = new String(jvmUniqueId);
+
+ if (log.isDebugEnabled()) log.debug("skipping XID " + bitronixXid + " as its GTRID's serverId <" + extractedServerIdString + "> does not match this JVM unique ID <" + jvmUniqueIdString + ">");
+ continue;
+ }
+ }
+ else {
+ if (log.isDebugEnabled()) log.debug("recovering all XIDs regardless of this JVM uniqueId");
+ }
+
+ if (alreadyRecoveredXids.contains(bitronixXid)) {
+ if (log.isDebugEnabled()) log.debug("already recovered XID " + bitronixXid + ", skipping it");
+ continue;
+ }
+
+ if (freshlyRecoveredXids.contains(bitronixXid)) {
+ log.warn("resource " + resourceHolderState.getUniqueName() + " recovered two identical XIDs within the same recover call: " + bitronixXid);
+ continue;
+ }
+
+ if (log.isDebugEnabled()) log.debug("recovered " + bitronixXid);
+ freshlyRecoveredXids.add(bitronixXid);
+ } // for i < xids.length
+
+ alreadyRecoveredXids.addAll(freshlyRecoveredXids);
+ return freshlyRecoveredXids.size();
+ }
+
+
+ /**
+ * Commit the specified branch of a dangling transaction.
+ * @param xaResourceHolderState the {@link XAResourceHolderState} to commit the branch on.
+ * @param xid the {@link Xid} to commit.
+ * @return true when commit was successful.
+ */
+ public static boolean commit(XAResourceHolderState xaResourceHolderState, Xid xid) {
+ String uniqueName = xaResourceHolderState.getUniqueName();
+ boolean success = true;
+ boolean forget = false;
+
+ try {
+ xaResourceHolderState.getXAResource().commit(xid, false);
+ } catch (XAException ex) {
+ if (ex.errorCode == XAException.XAER_NOTA) {
+ log.error("unable to commit in-doubt branch on resource " + uniqueName + " - error=XAER_NOTA. Forgotten heuristic?", ex);
+ }
+ else if (ex.errorCode == XAException.XA_HEURCOM) {
+ log.info("unable to commit in-doubt branch on resource " + uniqueName + " - error=" +
+ Decoder.decodeXAExceptionErrorCode(ex) + ". Heuristic decision compatible with the global state of this transaction.");
+ forget = true;
+ }
+ else if (ex.errorCode == XAException.XA_HEURHAZ || ex.errorCode == XAException.XA_HEURMIX || ex.errorCode == XAException.XA_HEURRB) {
+ log.error("unable to commit in-doubt branch on resource " + uniqueName + " - error=" +
+ Decoder.decodeXAExceptionErrorCode(ex) + ". Heuristic decision incompatible with the global state of this transaction!");
+ forget = true;
+ success = false;
+ }
+ else {
+ log.error("unable to commit in-doubt branch on resource " + uniqueName + " - error=" + Decoder.decodeXAExceptionErrorCode(ex) + ".", ex);
+ success = false;
+ }
+ }
+ if (forget) {
+ try {
+ if (log.isDebugEnabled()) log.debug("forgetting XID " + xid + " on resource " + uniqueName);
+ xaResourceHolderState.getXAResource().forget(xid);
+ } catch (XAException ex) {
+ log.error("unable to forget XID " + xid + " on resource " + uniqueName + ", error=" + Decoder.decodeXAExceptionErrorCode(ex), ex);
+ }
+ }
+ return success;
+ }
+
+ /**
+ * Rollback the specified branch of a dangling transaction.
+ * @param xaResourceHolderState the {@link XAResourceHolderState} to rollback the branch on.
+ * @param xid the {@link Xid} to rollback.
+ * @return true when rollback was successful.
+ */
+ public static boolean rollback(XAResourceHolderState xaResourceHolderState, Xid xid) {
+ String uniqueName = xaResourceHolderState.getUniqueName();
+ boolean success = true;
+ boolean forget = false;
+ try {
+ xaResourceHolderState.getXAResource().rollback(xid);
+ } catch (XAException ex) {
+ if (ex.errorCode == XAException.XAER_NOTA) {
+ log.error("unable to rollback aborted in-doubt branch on resource " + uniqueName + " - error=XAER_NOTA. Forgotten heuristic?", ex);
+ }
+ else if (ex.errorCode == XAException.XA_HEURRB) {
+ log.info("unable to rollback aborted in-doubt branch on resource " + uniqueName + " - error=" +
+ Decoder.decodeXAExceptionErrorCode(ex) + ". Heuristic decision compatible with the global state of this transaction.");
+ forget = true;
+ }
+ else if (ex.errorCode == XAException.XA_HEURHAZ || ex.errorCode == XAException.XA_HEURMIX || ex.errorCode == XAException.XA_HEURCOM) {
+ log.error("unable to rollback aborted in-doubt branch on resource " + uniqueName + " - error=" +
+ Decoder.decodeXAExceptionErrorCode(ex) + ". Heuristic decision incompatible with the global state of this transaction!");
+ forget = true;
+ success = false;
+ }
+ else {
+ log.error("unable to rollback aborted in-doubt branch on resource " + uniqueName + " - error=" +
+ Decoder.decodeXAExceptionErrorCode(ex) + ".", ex);
+ success = false;
+ }
+ }
+ if (forget) {
+ try {
+ if (log.isDebugEnabled()) log.debug("forgetting XID " + xid + " on resource " + uniqueName);
+ xaResourceHolderState.getXAResource().forget(xid);
+ } catch (XAException ex) {
+ log.error("unable to forget XID " + xid + " on resource " + uniqueName + ", error=" + Decoder.decodeXAExceptionErrorCode(ex), ex);
+ }
+ }
+ return success;
+ }
+
+
+}
diff --git a/src/bitronix/tm/recovery/package.html b/src/bitronix/tm/recovery/package.html
new file mode 100644
index 0000000..235dbe3
--- /dev/null
+++ b/src/bitronix/tm/recovery/package.html
@@ -0,0 +1,7 @@
+<html>
+<body>
+ <p>
+ Recovery logic.
+ </p>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/bitronix/tm/resource/ResourceConfigurationException.java b/src/bitronix/tm/resource/ResourceConfigurationException.java
new file mode 100644
index 0000000..daedf42
--- /dev/null
+++ b/src/bitronix/tm/resource/ResourceConfigurationException.java
@@ -0,0 +1,36 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource;
+
+/**
+ * Thrown when a resource cannot be created due to a configuration error.
+ *
+ * @author lorban
+ */
+public class ResourceConfigurationException extends RuntimeException {
+ public ResourceConfigurationException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public ResourceConfigurationException(String s) {
+ super(s);
+ }
+}
diff --git a/src/bitronix/tm/resource/ResourceLoader.java b/src/bitronix/tm/resource/ResourceLoader.java
new file mode 100644
index 0000000..0fa5515
--- /dev/null
+++ b/src/bitronix/tm/resource/ResourceLoader.java
@@ -0,0 +1,309 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource;
+
+import bitronix.tm.TransactionManagerServices;
+import bitronix.tm.utils.InitializationException;
+import bitronix.tm.utils.PropertyUtils;
+import bitronix.tm.utils.Service;
+import bitronix.tm.utils.ClassLoaderUtils;
+import bitronix.tm.resource.common.XAResourceProducer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.jms.XAConnectionFactory;
+import javax.sql.XADataSource;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.util.*;
+
+/**
+ * XA resources pools configurator & loader.
+ * <p>{@link ResourceLoader} relies on the optional <code>bitronix.tm.resource.configuration</code> propery to load the
+ * JDBC datasources ({@link bitronix.tm.resource.jdbc.PoolingDataSource}) and JMS connection factories
+ * ({@link bitronix.tm.resource.jms.PoolingConnectionFactory}) configuration file and create the resources.</p>
+ * <p>When <code>bitronix.tm.resource.configuration</code> is not specified, ResourceLoader is disabled and resources
+ * should be manually created.</p>
+ *
+ * @author lorban
+ */
+public class ResourceLoader implements Service {
+
+ private final static Logger log = LoggerFactory.getLogger(ResourceLoader.class);
+
+ private final static String JDBC_RESOURCE_CLASSNAME = "bitronix.tm.resource.jdbc.PoolingDataSource";
+ private final static String JMS_RESOURCE_CLASSNAME = "bitronix.tm.resource.jms.PoolingConnectionFactory";
+
+ private Map resourcesByUniqueName = Collections.EMPTY_MAP;
+
+ public ResourceLoader() {
+ }
+
+ /**
+ * Get a Map with the configured uniqueName as key and {@link XAResourceProducer} as value.
+ * @return a Map using the uniqueName as key and {@link XAResourceProducer} as value.
+ */
+ public Map getResources() {
+ return resourcesByUniqueName;
+ }
+
+ /**
+ * Initialize the ResourceLoader and load the resources configuration file specified in
+ * <code>bitronix.tm.resource.configuration</code> property.
+ * @return the number of resources which failed to initialize.
+ */
+ public int init() {
+ String filename = TransactionManagerServices.getConfiguration().getResourceConfigurationFilename();
+ if (filename != null) {
+ if (!new File(filename).exists())
+ throw new ResourceConfigurationException("cannot find resources configuration file '" + filename +"', missing or invalid value of property 'bitronix.tm.resource.configuration'");
+ log.info("reading resources configuration from " + filename);
+ return init(filename);
+ }
+ else {
+ if (log.isDebugEnabled()) log.debug("no resource configuration file specified");
+ return 0;
+ }
+ }
+
+ public synchronized void shutdown() {
+ if (log.isDebugEnabled()) log.debug("resource loader has registered " + resourcesByUniqueName.entrySet().size() + " resource(s), unregistering them now");
+ Iterator it = resourcesByUniqueName.entrySet().iterator();
+ while (it.hasNext()) {
+ Map.Entry entry = (Map.Entry) it.next();
+ XAResourceProducer producer = (XAResourceProducer) entry.getValue();
+ if (log.isDebugEnabled()) log.debug("closing " + producer);
+ try {
+ producer.close();
+ } catch (Exception ex) {
+ log.warn("error closing resource " + producer, ex);
+ }
+ }
+ resourcesByUniqueName.clear();
+ }
+
+ /*
+ * Internal impl.
+ */
+
+ /**
+ * Create an unitialized {@link XAResourceProducer} implementation which depends on the XA resource class name.
+ * @param xaResourceClassName an XA resource class name.
+ * @return a {@link XAResourceProducer} implementation.
+ * @throws ClassNotFoundException if the {@link XAResourceProducer} cannot be instanciated.
+ * @throws IllegalAccessException if the {@link XAResourceProducer} cannot be instanciated.
+ * @throws InstantiationException if the {@link XAResourceProducer} cannot be instanciated.
+ */
+ private static XAResourceProducer instanciate(String xaResourceClassName) throws ClassNotFoundException, IllegalAccessException, InstantiationException {
+ Class clazz = ClassLoaderUtils.loadClass(xaResourceClassName);
+
+ // resource classes are instanciated via reflection so that there is no hard class binding between this internal
+ // transaction manager service and 3rd party libraries like the JMS ones.
+ // This allows using the TM with a 100% JDBC application without requiring JMS libraries.
+
+ if (XADataSource.class.isAssignableFrom(clazz)) {
+ return (XAResourceProducer) ClassLoaderUtils.loadClass(JDBC_RESOURCE_CLASSNAME).newInstance();
+ }
+ else if (XAConnectionFactory.class.isAssignableFrom(clazz)) {
+ return (XAResourceProducer) ClassLoaderUtils.loadClass(JMS_RESOURCE_CLASSNAME).newInstance();
+ }
+ else
+ return null;
+ }
+
+ /**
+ * Read the resources properties file and create {@link XAResourceProducer} accordingly.
+ * @param propertiesFilename the name of the properties file to load.
+ * @return the number of resources which failed to initialize.
+ */
+ private int init(String propertiesFilename) {
+ try {
+ FileInputStream fis = null;
+ Properties properties;
+ try {
+ fis = new FileInputStream(propertiesFilename);
+ properties = new Properties();
+ properties.load(fis);
+ } finally {
+ if (fis != null) fis.close();
+ }
+
+ return initXAResourceProducers(properties);
+ } catch (IOException ex) {
+ throw new InitializationException("cannot create resource loader", ex);
+ }
+ }
+
+ /**
+ * Initialize {@link XAResourceProducer}s given a set of properties.
+ * @param properties the properties to use for initialization.
+ * @return the number of resources which failed to initialize.
+ */
+ int initXAResourceProducers(Properties properties) {
+ Map entries = buildConfigurationEntriesMap(properties);
+ int errorCount = 0;
+
+ resourcesByUniqueName = new HashMap();
+ for (Iterator it = entries.entrySet().iterator(); it.hasNext();) {
+ Map.Entry entry = (Map.Entry) it.next();
+ String uniqueName = (String) entry.getKey();
+ List propertyPairs = (List) entry.getValue();
+ XAResourceProducer producer = buildXAResourceProducer(uniqueName, propertyPairs);
+
+ if (ResourceRegistrar.get(producer.getUniqueName()) != null) {
+ if (log.isDebugEnabled()) log.debug("resource already registered, skipping it:" + producer.getUniqueName());
+ continue;
+ }
+
+ if (log.isDebugEnabled()) log.debug("creating resource " + producer);
+ try {
+ producer.init();
+ } catch (ResourceConfigurationException ex) {
+ log.warn("unable to create resource with unique name " + producer.getUniqueName(), ex);
+ producer.close();
+ errorCount++;
+ }
+
+ resourcesByUniqueName.put(producer.getUniqueName(), producer);
+ }
+
+ return errorCount;
+ }
+
+ /**
+ * Create a map using the configured resource name as the key and a List of PropertyPair objects as the value.
+ * @param properties object to analyze.
+ * @return the built map.
+ */
+ private Map buildConfigurationEntriesMap(Properties properties) {
+ Map entries = new HashMap();
+ Iterator it = properties.entrySet().iterator();
+ while (it.hasNext()) {
+ Map.Entry entry = (Map.Entry) it.next();
+ String key = (String) entry.getKey();
+ String value = (String) entry.getValue();
+
+ if (key.startsWith("resource.")) {
+ String[] keyParts = key.split("\\.");
+ if (keyParts.length < 3) {
+ log.warn("ignoring invalid entry in configuration file: " + key);
+ continue;
+ }
+ String configuredName = keyParts[1];
+ String propertyName = keyParts[2];
+ if (keyParts.length > 3) {
+ for (int i=3; i < keyParts.length; i++) {
+ propertyName += "." + keyParts[i];
+ }
+ }
+
+ List pairs = (List) entries.get(configuredName);
+ if (pairs == null) {
+ pairs = new ArrayList();
+ entries.put(configuredName, pairs);
+ }
+
+ pairs.add(new PropertyPair(propertyName, value));
+ }
+ }
+ return entries;
+ }
+
+ /**
+ * Build a populated {@link XAResourceProducer} out of a list of property pairs and the config name.
+ * @param configuredName index name of the config file.
+ * @param propertyPairs the properties attached to this index.
+ * @return a populated {@link XAResourceProducer}.
+ * @throws ResourceConfigurationException if the {@link XAResourceProducer} cannot be built.
+ */
+ private XAResourceProducer buildXAResourceProducer(String configuredName, List propertyPairs) throws ResourceConfigurationException {
+ String lastPropertyName = "className";
+ try {
+ XAResourceProducer producer = createBean(configuredName, propertyPairs);
+
+ for (int i = 0; i < propertyPairs.size(); i++) {
+ PropertyPair propertyPair = (PropertyPair) propertyPairs.get(i);
+ lastPropertyName = propertyPair.getName();
+ String propertyValue = propertyPair.getValue();
+
+ PropertyUtils.setProperty(producer, lastPropertyName, propertyValue);
+ }
+ if (producer.getUniqueName() == null)
+ throw new ResourceConfigurationException("missing mandatory property [uniqueName] of resource [" + configuredName + "] in resources configuration file");
+
+ return producer;
+ } catch (ResourceConfigurationException ex) {
+ throw ex;
+ } catch (Exception ex) {
+ throw new ResourceConfigurationException("cannot configure resource for configuration entries with name [" + configuredName + "]" + " - failing property is [" + lastPropertyName + "]", ex);
+ }
+ }
+
+ /**
+ * Create an unpopulated, uninitialized {@link XAResourceProducer} instance depending on the className value.
+ * @param configuredName the properties configured name.
+ * @param propertyPairs a list of {@link PropertyPair}s.
+ * @return a {@link XAResourceProducer}.
+ * @throws ClassNotFoundException if the {@link XAResourceProducer} cannot be instanciated.
+ * @throws IllegalAccessException if the {@link XAResourceProducer} cannot be instanciated.
+ * @throws InstantiationException if the {@link XAResourceProducer} cannot be instanciated.
+ */
+ private XAResourceProducer createBean(String configuredName, List propertyPairs) throws ClassNotFoundException, IllegalAccessException, InstantiationException {
+ for (int i = 0; i < propertyPairs.size(); i++) {
+ PropertyPair propertyPair = (PropertyPair) propertyPairs.get(i);
+ if (propertyPair.getName().equals("className")) {
+ String className = propertyPair.getValue();
+ XAResourceProducer producer = instanciate(className);
+ if (producer == null)
+ throw new ResourceConfigurationException("property [className] " +
+ "of resource [" + configuredName + "] in resources configuration file " +
+ "must be the name of a class implementing either javax.sql.XADataSource or javax.jms.XAConnectionFactory");
+ return producer;
+ }
+ }
+ throw new ResourceConfigurationException("missing mandatory property [className] for resource [" + configuredName + "] in resources configuration file");
+ }
+
+
+ private class PropertyPair {
+ private String name;
+ private String value;
+
+ public PropertyPair(String key, String value) {
+ this.name = key;
+ this.value = value;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public String toString() {
+ return name + "/" + value;
+ }
+ }
+
+}
diff --git a/src/bitronix/tm/resource/ResourceObjectFactory.java b/src/bitronix/tm/resource/ResourceObjectFactory.java
new file mode 100644
index 0000000..5f9fe78
--- /dev/null
+++ b/src/bitronix/tm/resource/ResourceObjectFactory.java
@@ -0,0 +1,62 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.naming.spi.ObjectFactory;
+import javax.naming.*;
+import java.util.Hashtable;
+
+import bitronix.tm.utils.Decoder;
+
+/**
+ * {@link bitronix.tm.resource.common.XAResourceProducer} object factory for JNDI references.
+ *
+ * @see bitronix.tm.resource.common.ResourceBean
+ * @author lorban
+ */
+public class ResourceObjectFactory implements ObjectFactory {
+
+ private final static Logger log = LoggerFactory.getLogger(ResourceObjectFactory.class);
+
+ public Object getObjectInstance(Object obj, Name jndiNameObject, Context nameCtx, Hashtable environment) throws Exception {
+ Reference ref = (Reference) obj;
+ if (log.isDebugEnabled()) log.debug("referencing resource with reference of type " + ref.getClass());
+
+ RefAddr refAddr = ref.get("uniqueName");
+ if (refAddr == null)
+ throw new NamingException("no 'uniqueName' RefAddr found");
+ Object content = refAddr.getContent();
+ if (!(content instanceof String))
+ throw new NamingException("'uniqueName' RefAddr content is not of type java.lang.String");
+ String uniqueName = (String) content;
+
+ if (log.isDebugEnabled()) log.debug("getting registered resource with uniqueName '" + uniqueName + "'");
+ Referenceable resource = ResourceRegistrar.get(uniqueName);
+ if (resource == null)
+ throw new NamingException("no resource registered with uniqueName '" + uniqueName + "', available resources: " + Decoder.collectResourcesNames(ResourceRegistrar.getResourcesUniqueNames()));
+
+ return resource;
+ }
+
+}
diff --git a/src/bitronix/tm/resource/ResourceRegistrar.java b/src/bitronix/tm/resource/ResourceRegistrar.java
new file mode 100644
index 0000000..ee45ca6
--- /dev/null
+++ b/src/bitronix/tm/resource/ResourceRegistrar.java
@@ -0,0 +1,120 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource;
+
+import bitronix.tm.resource.common.XAResourceHolder;
+import bitronix.tm.resource.common.XAResourceProducer;
+import bitronix.tm.recovery.IncrementalRecoverer;
+import bitronix.tm.recovery.RecoveryException;
+import bitronix.tm.TransactionManagerServices;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.transaction.xa.XAResource;
+import java.util.*;
+
+/**
+ * Collection of initialized {@link XAResourceProducer}s. All resources must be registered in the {@link ResourceRegistrar}
+ * before they can be used by the transaction manager.
+ *
+ * @author lorban
+ */
+public class ResourceRegistrar {
+
+ private final static Logger log = LoggerFactory.getLogger(ResourceRegistrar.class);
+
+ private static Map resources = new HashMap();
+
+ /**
+ * Get a registered {@link XAResourceProducer}.
+ * @param uniqueName the name of the recoverable resource producer.
+ * @return the {@link XAResourceProducer} or null if there was none registered under that name.
+ */
+ public synchronized static XAResourceProducer get(String uniqueName) {
+ return (XAResourceProducer) resources.get(uniqueName);
+ }
+
+ /**
+ * Get all {@link XAResourceProducer}s unique names.
+ * @return a Set containing all {@link bitronix.tm.resource.common.XAResourceProducer}s unique names.
+ */
+ public synchronized static Set getResourcesUniqueNames() {
+ return new HashSet(resources.keySet());
+ }
+
+ /**
+ * Register a {@link XAResourceProducer}. If registration happens after the transaction manager started, incremental
+ * recovery is run on that resource.
+ * @param producer the {@link XAResourceProducer}.
+ * @throws bitronix.tm.recovery.RecoveryException when an error happens during recovery.
+ */
+ public synchronized static void register(XAResourceProducer producer) throws RecoveryException {
+ String uniqueName = producer.getUniqueName();
+ if (producer.getUniqueName() == null)
+ throw new IllegalArgumentException("invalid resource with null uniqueName");
+ if (resources.containsKey(uniqueName))
+ throw new IllegalArgumentException("resource with uniqueName '" + producer.getUniqueName() + "' has already been registered");
+
+ if (TransactionManagerServices.isTransactionManagerRunning()) {
+ if (log.isDebugEnabled()) log.debug("transaction manager is running, recovering resource " + uniqueName);
+ IncrementalRecoverer.recover(producer);
+ }
+
+ resources.put(uniqueName, producer);
+ }
+
+ /**
+ * Unregister a previously registered {@link XAResourceProducer}.
+ * @param producer the {@link XAResourceProducer}.
+ */
+ public synchronized static void unregister(XAResourceProducer producer) {
+ String uniqueName = producer.getUniqueName();
+ if (producer.getUniqueName() == null)
+ throw new IllegalArgumentException("invalid resource with null uniqueName");
+ if (!resources.containsKey(uniqueName)) {
+ if (log.isDebugEnabled()) log.debug("resource with uniqueName '" + producer.getUniqueName() + "' has not been registered");
+ return;
+ }
+ resources.remove(uniqueName);
+ }
+
+ /**
+ * Find in the registered {@link XAResourceProducer}s the {@link XAResourceHolder} from which the specified {@link XAResource} comes from.
+ * @param xaResource the {@link XAResource} to look for
+ * @return the associated {@link XAResourceHolder} or null if it cannot be found.
+ */
+ public synchronized static XAResourceHolder findXAResourceHolder(XAResource xaResource) {
+ Iterator it = resources.entrySet().iterator();
+ while (it.hasNext()) {
+ Map.Entry entry = (Map.Entry) it.next();
+ XAResourceProducer producer = (XAResourceProducer) entry.getValue();
+
+ XAResourceHolder resourceHolder = producer.findXAResourceHolder(xaResource);
+ if (resourceHolder != null) {
+ if (log.isDebugEnabled()) log.debug("XAResource " + xaResource + " belongs to " + resourceHolder + " that itself belongs to " + producer);
+ return resourceHolder;
+ }
+ if (log.isDebugEnabled()) log.debug("XAResource " + xaResource + " does not belong to any resource of " + producer);
+ }
+ return null;
+ }
+
+}
diff --git a/src/bitronix/tm/resource/common/AbstractXAResourceHolder.java b/src/bitronix/tm/resource/common/AbstractXAResourceHolder.java
new file mode 100644
index 0000000..165266c
--- /dev/null
+++ b/src/bitronix/tm/resource/common/AbstractXAResourceHolder.java
@@ -0,0 +1,167 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.common;
+
+import bitronix.tm.BitronixTransaction;
+import bitronix.tm.BitronixXid;
+import bitronix.tm.internal.XAResourceHolderState;
+import bitronix.tm.utils.Uid;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.*;
+
+/**
+ * Implementation of all services required by a {@link XAResourceHolder}. This class keeps a list of all
+ * {@link XAResourceHolderState}s of the {@link XAResourceHolder} plus the currently active one. There is
+ * one per transaction in which this {@link XAResourceHolder} is enlisted plus all the suspended transactions in which
+ * it is enlisted as well.
+ *
+ * @author lorban
+ */
+public abstract class AbstractXAResourceHolder extends AbstractXAStatefulHolder implements XAResourceHolder {
+
+ private final static Logger log = LoggerFactory.getLogger(AbstractXAResourceHolder.class);
+
+ private final Map xaResourceHolderStates = Collections.synchronizedMap(new HashMap());
+
+ public Map getXAResourceHolderStatesForGtrid(Uid gtrid) {
+ synchronized (xaResourceHolderStates) {
+ return (Map) xaResourceHolderStates.get(gtrid);
+ }
+ }
+
+ public void putXAResourceHolderState(BitronixXid xid, XAResourceHolderState xaResourceHolderState) {
+ synchronized (xaResourceHolderStates) {
+ if (log.isDebugEnabled()) log.debug("putting XAResourceHolderState [" + xaResourceHolderState + "] on " + this);
+ Uid gtrid = xid.getGlobalTransactionIdUid();
+ Uid bqual = xid.getBranchQualifierUid();
+
+ if (!xaResourceHolderStates.containsKey(gtrid)) {
+ if (log.isDebugEnabled()) log.debug("GTRID [" + gtrid + "] previously unknown to " + this + ", adding it to the resource's transactions list");
+
+ Map statesForGtrid = new LinkedHashMap(4); // use a LinkedHashMap as iteration order must be guaranteed
+ statesForGtrid.put(bqual, xaResourceHolderState);
+ xaResourceHolderStates.put(gtrid, statesForGtrid);
+ }
+ else {
+ if (log.isDebugEnabled()) log.debug("GTRID [" + gtrid + "] previously known to " + this + ", adding it to the resource's transactions list");
+
+ Map statesForGtrid = (Map) xaResourceHolderStates.get(gtrid);
+ statesForGtrid.put(bqual, xaResourceHolderState);
+ }
+ }
+ }
+
+ public void removeXAResourceHolderState(BitronixXid xid) {
+ synchronized (xaResourceHolderStates) {
+ if (log.isDebugEnabled()) log.debug("removing XAResourceHolderState of xid " + xid + " from " + this);
+ Uid gtrid = xid.getGlobalTransactionIdUid();
+ Uid bqual = xid.getBranchQualifierUid();
+
+ Map statesForGtrid = (Map) xaResourceHolderStates.get(gtrid);
+ if (statesForGtrid == null) {
+ log.warn("tried to remove unknown GTRID [" + gtrid + "] from " + this + " - Bug?");
+ return;
+ }
+
+ Object removed = statesForGtrid.remove(bqual);
+ if (removed == null) {
+ log.warn("tried to remove unknown BQUAL [" + bqual + "] from " + this + " - Bug?");
+ return;
+ }
+
+ if (statesForGtrid.isEmpty()) {
+ xaResourceHolderStates.remove(gtrid);
+ }
+ }
+ }
+
+ public boolean hasStateForXAResource(XAResourceHolder xaResourceHolder) {
+ synchronized (xaResourceHolderStates) {
+ Iterator statesForGtridIt = xaResourceHolderStates.values().iterator();
+ while (statesForGtridIt.hasNext()) {
+ Map statesForGtrid = (Map) statesForGtridIt.next();
+
+ Iterator statesForBqualIt = statesForGtrid.values().iterator();
+ while (statesForBqualIt.hasNext()) {
+ XAResourceHolderState otherXaResourceHolderState = (XAResourceHolderState) statesForBqualIt.next();
+
+ if (otherXaResourceHolderState.getXAResource() == xaResourceHolder.getXAResource()) {
+ if (log.isDebugEnabled()) log.debug("resource " + xaResourceHolder + " is enlisted in another transaction with " + otherXaResourceHolderState.getXid().toString());
+ return true;
+ }
+ }
+ }
+
+ if (log.isDebugEnabled()) log.debug("resource not enlisted in any transaction: " + xaResourceHolder);
+ return false;
+ }
+ }
+
+ /**
+ * If this method returns false, then local transaction calls like Connection.commit() can be made.
+ * @return true if start() has been successfully called but not end() yet <i>and</i> the transaction is not suspended.
+ */
+ public boolean isParticipatingInActiveGlobalTransaction() {
+ synchronized (xaResourceHolderStates) {
+ BitronixTransaction currentTransaction = TransactionContextHelper.currentTransaction();
+ Uid gtrid = currentTransaction == null ? null : currentTransaction.getResourceManager().getGtrid();
+ if (gtrid == null)
+ return false;
+
+ Map statesForGtrid = (Map) xaResourceHolderStates.get(gtrid);
+ if (statesForGtrid == null)
+ return false;
+
+ Iterator statesForBqualIt = statesForGtrid.values().iterator();
+ while (statesForBqualIt.hasNext()) {
+ XAResourceHolderState xaResourceHolderState = (XAResourceHolderState) statesForBqualIt.next();
+
+ if (xaResourceHolderState != null &&
+ xaResourceHolderState.isStarted() &&
+ !xaResourceHolderState.isSuspended() &&
+ !xaResourceHolderState.isEnded())
+ return true;
+ }
+ return false;
+ }
+ }
+
+ /**
+ * Simple helper method which returns a set of GTRIDs of transactions in which
+ * this resource is enlisted. Useful for monitoring.
+ * @return a set of String-encoded GTRIDs of transactions in which this resource is enlisted.
+ */
+ public Set getXAResourceHolderStateGtrids() {
+ synchronized (xaResourceHolderStates) {
+ HashSet gtridsAsStrings = new HashSet();
+
+ Iterator gtridsIt = xaResourceHolderStates.keySet().iterator();
+ while (gtridsIt.hasNext()) {
+ Uid uid = (Uid) gtridsIt.next();
+ gtridsAsStrings.add(uid.toString());
+ }
+
+ return gtridsAsStrings;
+ }
+ }
+}
diff --git a/src/bitronix/tm/resource/common/AbstractXAStatefulHolder.java b/src/bitronix/tm/resource/common/AbstractXAStatefulHolder.java
new file mode 100644
index 0000000..f47880d
--- /dev/null
+++ b/src/bitronix/tm/resource/common/AbstractXAStatefulHolder.java
@@ -0,0 +1,92 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.common;
+
+import java.util.*;
+
+import org.slf4j.*;
+
+import bitronix.tm.utils.Decoder;
+
+/**
+ * Implementation of all services required by a {@link XAStatefulHolder}.
+ *
+ * @author lorban
+ */
+public abstract class AbstractXAStatefulHolder implements XAStatefulHolder {
+
+ private final static Logger log = LoggerFactory.getLogger(AbstractXAStatefulHolder.class);
+
+ private int state = STATE_IN_POOL;
+ private List stateChangeEventListeners = new ArrayList();
+
+ public synchronized int getState() {
+ return state;
+ }
+
+ public void setState(int state) {
+ int oldState = this.state;
+ fireStateChanging(oldState, state);
+
+ synchronized (this) {
+ if (oldState == state)
+ throw new IllegalArgumentException("cannot switch state from " + Decoder.decodeXAStatefulHolderState(oldState) +
+ " to " + Decoder.decodeXAStatefulHolderState(state));
+
+ if (log.isDebugEnabled()) log.debug("state changing from " + Decoder.decodeXAStatefulHolderState(oldState) +
+ " to " + Decoder.decodeXAStatefulHolderState(state) + " in " + this);
+
+ this.state = state;
+ }
+
+ fireStateChanged(oldState, state);
+ }
+
+ public void addStateChangeEventListener(StateChangeListener listener) {
+ stateChangeEventListeners.add(listener);
+ }
+
+ public void removeStateChangeEventListener(StateChangeListener listener) {
+ stateChangeEventListeners.remove(listener);
+ }
+
+ private void fireStateChanging(int currentState, int futureState) {
+ if (log.isDebugEnabled()) log.debug("notifying " + stateChangeEventListeners.size() +
+ " stateChangeEventListener(s) about state changing from " + Decoder.decodeXAStatefulHolderState(currentState) +
+ " to " + Decoder.decodeXAStatefulHolderState(futureState) + " in " + this);
+
+ for (int i = 0; i < stateChangeEventListeners.size(); i++) {
+ StateChangeListener stateChangeListener = (StateChangeListener) stateChangeEventListeners.get(i);
+ stateChangeListener.stateChanging(this, currentState, futureState);
+ }
+ }
+
+ private void fireStateChanged(int oldState, int newState) {
+ if (log.isDebugEnabled()) log.debug("notifying " + stateChangeEventListeners.size() +
+ " stateChangeEventListener(s) about state changed from " + Decoder.decodeXAStatefulHolderState(oldState) +
+ " to " + Decoder.decodeXAStatefulHolderState(newState) + " in " + this);
+
+ for (int i = 0; i < stateChangeEventListeners.size(); i++) {
+ StateChangeListener stateChangeListener = (StateChangeListener) stateChangeEventListeners.get(i);
+ stateChangeListener.stateChanged(this, oldState, newState);
+ }
+ }
+}
diff --git a/src/bitronix/tm/resource/common/DeferredReleaseSynchronization.java b/src/bitronix/tm/resource/common/DeferredReleaseSynchronization.java
new file mode 100644
index 0000000..1b60cdd
--- /dev/null
+++ b/src/bitronix/tm/resource/common/DeferredReleaseSynchronization.java
@@ -0,0 +1,63 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.common;
+
+import javax.transaction.Synchronization;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import bitronix.tm.BitronixTransaction;
+
+/**
+ * {@link Synchronization} used to release a {@link XAStatefulHolder} object after 2PC has executed.
+ *
+ * @author lorban
+ */
+public class DeferredReleaseSynchronization implements Synchronization {
+
+ private final static Logger log = LoggerFactory.getLogger(DeferredReleaseSynchronization.class);
+
+ private XAStatefulHolder xaStatefulHolder;
+
+ public DeferredReleaseSynchronization(XAStatefulHolder xaStatefulHolder) {
+ this.xaStatefulHolder = xaStatefulHolder;
+ }
+
+ public XAStatefulHolder getXAStatefulHolder() {
+ return xaStatefulHolder;
+ }
+
+ public void afterCompletion(int status) {
+ if (log.isDebugEnabled()) log.debug("DeferredReleaseSynchronization requeuing " + xaStatefulHolder);
+
+ // set this connection's state back to IN_POOL
+ xaStatefulHolder.setState(XAResourceHolder.STATE_IN_POOL);
+
+ if (log.isDebugEnabled()) log.debug("DeferredReleaseSynchronization requeued " + xaStatefulHolder);
+ }
+
+ public void beforeCompletion() {
+ }
+
+ public String toString() {
+ return "a DeferredReleaseSynchronization of " + xaStatefulHolder;
+ }
+}
\ No newline at end of file
diff --git a/src/bitronix/tm/resource/common/RecoveryXAResourceHolder.java b/src/bitronix/tm/resource/common/RecoveryXAResourceHolder.java
new file mode 100644
index 0000000..32597af
--- /dev/null
+++ b/src/bitronix/tm/resource/common/RecoveryXAResourceHolder.java
@@ -0,0 +1,69 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.common;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.transaction.xa.XAResource;
+import java.util.List;
+import java.util.Date;
+
+/**
+ * {@link XAResourceHolder} created by an {@link bitronix.tm.resource.common.XAResourceProducer} that is
+ * used to perform recovery. Objects of this class cannot be used outside recovery scope.
+ *
+ * @author lorban
+ */
+public class RecoveryXAResourceHolder extends AbstractXAResourceHolder {
+
+ private final static Logger log = LoggerFactory.getLogger(RecoveryXAResourceHolder.class);
+
+ private XAResourceHolder xaResourceHolder;
+
+ public RecoveryXAResourceHolder(XAResourceHolder xaResourceHolder) {
+ this.xaResourceHolder = xaResourceHolder;
+ }
+
+ public void close() throws Exception {
+ xaResourceHolder.setState(STATE_IN_POOL);
+ }
+
+ public Date getLastReleaseDate() {
+ return null;
+ }
+
+ public XAResource getXAResource() {
+ return xaResourceHolder.getXAResource();
+ }
+
+ public ResourceBean getResourceBean() {
+ return null;
+ }
+
+ public List getXAResourceHolders() {
+ return null;
+ }
+
+ public Object getConnectionHandle() throws Exception {
+ throw new UnsupportedOperationException("illegal connection creation attempt out of " + this);
+ }
+}
diff --git a/src/bitronix/tm/resource/common/ResourceBean.java b/src/bitronix/tm/resource/common/ResourceBean.java
new file mode 100644
index 0000000..dd4f79c
--- /dev/null
+++ b/src/bitronix/tm/resource/common/ResourceBean.java
@@ -0,0 +1,353 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.common;
+
+import java.io.Serializable;
+import java.util.Properties;
+
+/**
+ * Abstract javabean container for all common properties of a {@link bitronix.tm.resource.common.XAResourceProducer} as configured in the
+ * resources configuration file.
+ *
+ * @author lorban
+ */
+public abstract class ResourceBean implements Serializable {
+
+ private String className;
+ private String uniqueName;
+ private boolean automaticEnlistingEnabled = true;
+ private boolean useTmJoin = true;
+ private Properties driverProperties = new Properties();
+ private int maxPoolSize = 0;
+ private int minPoolSize = 0;
+ private int maxIdleTime = 60;
+ private int acquireIncrement = 1;
+ private int acquisitionTimeout = 30;
+ private boolean deferConnectionRelease = true;
+ private int acquisitionInterval = 1;
+ private boolean allowLocalTransactions = false;
+ private int twoPcOrderingPosition = 1;
+ private boolean applyTransactionTimeout = false;
+ private boolean shareTransactionConnections = false;
+ private boolean disabled = false;
+ private boolean ignoreRecoveryFailures = false;
+ private transient int createdResourcesCounter;
+
+ /**
+ * Initialize all properties with their default values.
+ */
+ protected ResourceBean() {
+ }
+
+ /**
+ * @return the underlying implementation class name.
+ */
+ public String getClassName() {
+ return className;
+ }
+
+ /**
+ * Specify the underlying implementation class name of the XA resource described by this bean.
+ * @param className the underlying implementation class name.
+ */
+ public void setClassName(String className) {
+ this.className = className;
+ }
+
+ /**
+ * @return the resource's unique name.
+ */
+ public String getUniqueName() {
+ return uniqueName;
+ }
+
+ /**
+ * Specify the resource unique name to be used to identify this resource during recovery. This name will be
+ * registered in the transactions journal so once assigned it must never be changed.
+ * @param uniqueName the resource's unique name.
+ */
+ public void setUniqueName(String uniqueName) {
+ this.uniqueName = uniqueName;
+ }
+
+ /**
+ * @return true if the the XA resource wrapper should enlist/delist this resource automatically in global
+ * transactions.
+ */
+ public boolean getAutomaticEnlistingEnabled() {
+ return automaticEnlistingEnabled;
+ }
+
+ /**
+ * Specify if the XA resource wrapper should enlist/delist this resource automatically in global transactions.
+ * When set to false, you have to enlist resources yourself with {@link javax.transaction.Transaction#enlistResource(javax.transaction.xa.XAResource)} and delist them
+ * {@link javax.transaction.Transaction#delistResource(javax.transaction.xa.XAResource, int)}.
+ * @param automaticEnlistingEnabled true if the the XA resource wrapper should enlist/delist this resource automatically in global
+ * transactions.
+ */
+ public void setAutomaticEnlistingEnabled(boolean automaticEnlistingEnabled) {
+ this.automaticEnlistingEnabled = automaticEnlistingEnabled;
+ }
+
+ /**
+ * @return true if transaction branches joining should be used.
+ */
+ public boolean getUseTmJoin() {
+ return useTmJoin;
+ }
+
+ /**
+ * Specify if the transaction manager should try to join resources by calling
+ * {@link javax.transaction.xa.XAResource#start(javax.transaction.xa.Xid, int)} with
+ * {@link javax.transaction.xa.XAResource#TMJOIN}. The transaction manager checks if two branches can be joined by
+ * calling {@link javax.transaction.xa.XAResource#isSameRM(javax.transaction.xa.XAResource)}.
+ * It should only be set to true if the underlying implementation supports resource joining.
+ * @param useTmJoin true if transaction branches joining should be used.
+ */
+ public void setUseTmJoin(boolean useTmJoin) {
+ this.useTmJoin = useTmJoin;
+ }
+
+ /**
+ * @return the properties that should be set on the underlying implementation.
+ */
+ public Properties getDriverProperties() {
+ return driverProperties;
+ }
+
+ /**
+ * Set the properties that should be set on the underlying implementation.
+ * @param driverProperties the properties that should be set on the underlying implementation.
+ */
+ public void setDriverProperties(Properties driverProperties) {
+ this.driverProperties = driverProperties;
+ }
+
+ /**
+ * @return the maximum amount of connections that can be in the pool.
+ */
+ public int getMaxPoolSize() {
+ return maxPoolSize;
+ }
+
+ /**
+ * Define the maximum amount of connections that can be in the pool.
+ * @param maxPoolSize the maximum amount of connections that can be in the pool.
+ */
+ public void setMaxPoolSize(int maxPoolSize) {
+ this.maxPoolSize = maxPoolSize;
+ }
+
+ /**
+ * @return the minimal amount of connections that can be in the pool.
+ */
+ public int getMinPoolSize() {
+ return minPoolSize;
+ }
+
+ /**
+ * Define the minimal amount of connections that can be in the pool.
+ * @param minPoolSize the maximum amount of connections that can be in the pool.
+ */
+ public void setMinPoolSize(int minPoolSize) {
+ this.minPoolSize = minPoolSize;
+ }
+
+ /**
+ * @return the amount of seconds and idle connection can stay in the pool before getting closed.
+ */
+ public int getMaxIdleTime() {
+ return maxIdleTime;
+ }
+
+ /**
+ * Define the amount of seconds and idle connection can stay in the pool before getting closed.
+ * @param maxIdleTime the amount of seconds and idle connection can stay in the pool before getting closed.
+ */
+ public void setMaxIdleTime(int maxIdleTime) {
+ this.maxIdleTime = maxIdleTime;
+ }
+
+ /**
+ * @return the amount of connections to be created at once when the pool needs to grow.
+ */
+ public int getAcquireIncrement() {
+ return acquireIncrement;
+ }
+
+ /**
+ * Define the amount of connections to be created at once when the pool needs to grow.
+ * @param acquireIncrement the amount of connections to be created at once when the pool needs to grow.
+ */
+ public void setAcquireIncrement(int acquireIncrement) {
+ this.acquireIncrement = acquireIncrement;
+ }
+
+ /**
+ * @return the amount of time in seconds a call to get a connection from the pool will wait when the pool is empty.
+ */
+ public int getAcquisitionTimeout() {
+ return acquisitionTimeout;
+ }
+
+ /**
+ * Define the amount of time in seconds a call to get a connection from the pool will wait when the pool is empty.
+ * @param acquisitionTimeout the amount of time in seconds.
+ */
+ public void setAcquisitionTimeout(int acquisitionTimeout) {
+ this.acquisitionTimeout = acquisitionTimeout;
+ }
+
+ /**
+ * @return false only if the database can run many transactions on the same connection.
+ */
+ public boolean getDeferConnectionRelease() {
+ return deferConnectionRelease;
+ }
+
+ /**
+ * Define the transaction interleaving capability of the database.
+ * Should be true only if the database can run many transactions on the same connection.
+ * @param deferConnectionRelease false only if the database can run many transactions on the same connection.
+ */
+ public void setDeferConnectionRelease(boolean deferConnectionRelease) {
+ this.deferConnectionRelease = deferConnectionRelease;
+ }
+
+ /**
+ * @return the amount of time between failed connection acquirements.
+ */
+ public int getAcquisitionInterval() {
+ return acquisitionInterval;
+ }
+
+ /**
+ * Set the amount of time in seconds the pool will wait before trying to acquire a connection again after an
+ * invalid connection has been attempted to be acquired.
+ * @param acquisitionInterval amount of time in seconds.
+ */
+ public void setAcquisitionInterval(int acquisitionInterval) {
+ this.acquisitionInterval = acquisitionInterval;
+ }
+
+ /**
+ * @return true if the transaction manager should allow mixing XA and non-XA transactions.
+ */
+ public boolean getAllowLocalTransactions() {
+ return allowLocalTransactions;
+ }
+
+ /**
+ * Set if the transaction manager should allow mixing XA and non-XA transactions. If you know all your transactions
+ * should be executed within global (ie: XA) scope it is a good idea to set this property to false.
+ * @param allowLocalTransactions if the transaction manager should allow mixing XA and non-XA transactions.
+ */
+ public void setAllowLocalTransactions(boolean allowLocalTransactions) {
+ this.allowLocalTransactions = allowLocalTransactions;
+ }
+
+ /**
+ * @return the position at which this resource should stand during 2PC commit.
+ */
+ public int getTwoPcOrderingPosition() {
+ return twoPcOrderingPosition;
+ }
+
+ /**
+ * Set the position at which this resource should stand during 2PC commit.
+ * @param twoPcOrderingPosition the position at which this resource should stand during 2PC commit.
+ */
+ public void setTwoPcOrderingPosition(int twoPcOrderingPosition) {
+ this.twoPcOrderingPosition = twoPcOrderingPosition;
+ }
+
+ /**
+ * @return true if the transaction-timeout should be set on the XAResource.
+ */
+ public boolean getApplyTransactionTimeout() {
+ return applyTransactionTimeout;
+ }
+
+ /**
+ * Set if the transaction-timeout should be set on the XAResource when the XAResource is
+ * enlisted.
+ * @param applyTransactionTimeout true if the transaction-timeout should be set.
+ */
+ public void setApplyTransactionTimeout(boolean applyTransactionTimeout) {
+ this.applyTransactionTimeout = applyTransactionTimeout;
+ }
+
+ /**
+ * Set whether connections in the ACCESSIBLE state can be shared within the context
+ * of a transaction.
+ * @param shareAccessibleConnections the shareAccessibleConnections to set.
+ */
+ public void setShareTransactionConnections(boolean shareAccessibleConnections) {
+ this.shareTransactionConnections = shareAccessibleConnections;
+ }
+
+ /**
+ * @return true if accessible connections can be shared.
+ */
+ public boolean getShareTransactionConnections() {
+ return shareTransactionConnections;
+ }
+
+ /**
+ * Set whether XA recovery errors should quarantine the resource or be ignored.
+ * @param ignoreRecoveryFailures true if recovery errors should be ignored, false otherwise.
+ */
+ public void setIgnoreRecoveryFailures(boolean ignoreRecoveryFailures) {
+ this.ignoreRecoveryFailures = ignoreRecoveryFailures;
+ }
+
+ /**
+ * @return true if recovery errors should be ignored, false otherwise.
+ */
+ public boolean getIgnoreRecoveryFailures() {
+ return ignoreRecoveryFailures;
+ }
+
+ /**
+ * Set whether this resource is disabled, meaning it's temporarily forbidden to acquire
+ * a connection from its pool.
+ * @param disabled true to disable the resource, false to enable it.
+ */
+ public void setDisabled(boolean disabled) {
+ this.disabled = disabled;
+ }
+
+ /**
+ * @return true if the resource is disabled, false if it is enabled.
+ */
+ public boolean isDisabled() {
+ return disabled;
+ }
+
+ /**
+ * Increment a transient counter. This is used for assigning per-resource numbers to connections.
+ * @return the current value of the counter.
+ */
+ public int incCreatedResourcesCounter() {
+ return this.createdResourcesCounter++;
+ }
+
+}
diff --git a/src/bitronix/tm/resource/common/StateChangeListener.java b/src/bitronix/tm/resource/common/StateChangeListener.java
new file mode 100644
index 0000000..99589b9
--- /dev/null
+++ b/src/bitronix/tm/resource/common/StateChangeListener.java
@@ -0,0 +1,46 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.common;
+
+/**
+ * {@link XAStatefulHolder} state change listener interface.
+ *
+ * @author lorban
+ */
+public interface StateChangeListener {
+
+ /**
+ * Fired when the internal state of a {@link XAStatefulHolder} has changed.
+ * @param source the {@link XAStatefulHolder} changing state.
+ * @param oldState the old state of the {@link XAStatefulHolder}.
+ * @param newState the new state of the {@link XAStatefulHolder}.
+ */
+ public void stateChanged(XAStatefulHolder source, int oldState, int newState);
+
+ /**
+ * Fired before the internal state of a {@link XAStatefulHolder} has changed.
+ * @param source the {@link XAStatefulHolder} changing state.
+ * @param currentState the current state of the {@link XAStatefulHolder}.
+ * @param futureState the future state of the {@link XAStatefulHolder}.
+ */
+ public void stateChanging(XAStatefulHolder source, int currentState, int futureState);
+
+}
diff --git a/src/bitronix/tm/resource/common/TransactionContextHelper.java b/src/bitronix/tm/resource/common/TransactionContextHelper.java
new file mode 100644
index 0000000..46a896c
--- /dev/null
+++ b/src/bitronix/tm/resource/common/TransactionContextHelper.java
@@ -0,0 +1,288 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.common;
+
+import bitronix.tm.BitronixTransaction;
+import bitronix.tm.BitronixXid;
+import bitronix.tm.TransactionManagerServices;
+import bitronix.tm.utils.Uid;
+import bitronix.tm.utils.Scheduler;
+import bitronix.tm.internal.BitronixSystemException;
+import bitronix.tm.internal.XAResourceHolderState;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.transaction.RollbackException;
+import javax.transaction.Synchronization;
+import javax.transaction.SystemException;
+import javax.transaction.xa.XAResource;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Helper class that contains static logic common accross all resource types.
+ *
+ * @author lorban
+ */
+public class TransactionContextHelper {
+
+ private final static Logger log = LoggerFactory.getLogger(TransactionContextHelper.class);
+
+ /**
+ * Enlist the {@link XAResourceHolder} in the current transaction or do nothing if there is no global transaction
+ * context for this thread.
+ * @param xaResourceHolder the {@link XAResourceHolder} to enlist.
+ * @throws SystemException if an internal error happens.
+ * @throws RollbackException if the current transaction has been marked as rollback only.
+ */
+ public static void enlistInCurrentTransaction(XAResourceHolder xaResourceHolder) throws SystemException, RollbackException {
+ BitronixTransaction currentTransaction = currentTransaction();
+ ResourceBean bean = xaResourceHolder.getResourceBean();
+ if (log.isDebugEnabled()) log.debug("enlisting " + xaResourceHolder + " into " + currentTransaction);
+
+ if (currentTransaction != null) {
+ if (currentTransaction.timedOut())
+ throw new BitronixSystemException("transaction timed out");
+
+ // in case multiple unjoined branches of the current transaction have run on the resource,
+ // only the last one counts as all the first ones are ended already
+ XAResourceHolderState alreadyEnlistedXAResourceHolderState = TransactionContextHelper.getLatestAlreadyEnlistedXAResourceHolderState(xaResourceHolder, currentTransaction);
+ if (alreadyEnlistedXAResourceHolderState == null || alreadyEnlistedXAResourceHolderState.isEnded()) {
+ currentTransaction.enlistResource(xaResourceHolder.getXAResource());
+ }
+ else if (log.isDebugEnabled()) log.debug("avoiding re-enlistment of already enlisted but not ended resource " + alreadyEnlistedXAResourceHolderState);
+ }
+ else {
+ if (bean.getAllowLocalTransactions()) {
+ if (log.isDebugEnabled()) log.debug("in local transaction context, skipping enlistment");
+ }
+ else
+ throw new BitronixSystemException("resource '" + bean.getUniqueName() + "' cannot be used outside XA " +
+ "transaction scope. Set allowLocalTransactions to true if you want to allow this and you know " +
+ "your resource supports this.");
+ }
+ }
+
+ /**
+ * Delist the {@link XAResourceHolder} from the current transaction or do nothing if there is no global transaction
+ * context for this thread.
+ * @param xaResourceHolder the {@link XAResourceHolder} to delist.
+ * @throws SystemException if an internal error happens.
+ */
+ public static void delistFromCurrentTransaction(XAResourceHolder xaResourceHolder) throws SystemException {
+ BitronixTransaction currentTransaction = currentTransaction();
+ ResourceBean bean = xaResourceHolder.getResourceBean();
+ if (log.isDebugEnabled()) log.debug("delisting " + xaResourceHolder + " from " + currentTransaction);
+
+ // End resource as eagerly as possible. This allows to release connections to the pool much earlier
+ // with resources fully supporting transaction interleaving.
+ if (isInEnlistingGlobalTransactionContext(xaResourceHolder, currentTransaction) && !bean.getDeferConnectionRelease()) {
+ Map statesForGtrid = xaResourceHolder.getXAResourceHolderStatesForGtrid(currentTransaction.getResourceManager().getGtrid());
+ Iterator statesForGtridIt = statesForGtrid.values().iterator();
+ while (statesForGtridIt.hasNext()) {
+ XAResourceHolderState xaResourceHolderState = (XAResourceHolderState) statesForGtridIt.next();
+
+ if (!xaResourceHolderState.isEnded()) {
+ if (log.isDebugEnabled()) log.debug("delisting resource " + xaResourceHolderState + " from " + currentTransaction);
+
+ // Watch out: the delistResource() call might throw a BitronixRollbackSystemException to indicate a unilateral rollback.
+ currentTransaction.delistResource(xaResourceHolderState.getXAResource(), XAResource.TMSUCCESS);
+ }
+ else if (log.isDebugEnabled()) log.debug("avoiding delistment of not enlisted resource " + xaResourceHolderState);
+ }
+
+ } // isInEnlistingGlobalTransactionContext
+ }
+
+ /**
+ * Get the transaction running on the current thead context.
+ * @return null if there is no transaction on the current context or if the transaction manager is not running.
+ */
+ public static BitronixTransaction currentTransaction() {
+ if (!TransactionManagerServices.isTransactionManagerRunning())
+ return null;
+ return TransactionManagerServices.getTransactionManager().getCurrentTransaction();
+ }
+
+ /**
+ * Switch the {@link XAStatefulHolder}'s state appropriately after the acquired resource handle has been closed.
+ * The pooled resource will either be marked as closed or not accessible, depending on the value of the bean's
+ * <code>deferConnectionRelease</code> property and will be marked for release after 2PC execution in the latter case.
+ * @param xaStatefulHolder the {@link XAStatefulHolder} to requeue.
+ * @param bean the {@link ResourceBean} of the {@link XAResourceHolder}.
+ * @throws BitronixSystemException if an internal error happens.
+ */
+ public static void requeue(XAStatefulHolder xaStatefulHolder, ResourceBean bean) throws BitronixSystemException {
+ BitronixTransaction currentTransaction = currentTransaction();
+ if (log.isDebugEnabled()) log.debug("requeuing " + xaStatefulHolder + " from " + currentTransaction);
+
+ if (!TransactionContextHelper.isInEnlistingGlobalTransactionContext(xaStatefulHolder, currentTransaction)) {
+ if (!TransactionContextHelper.isEnlistedInSomeTransaction(xaStatefulHolder)) {
+ // local mode, always requeue connection immediately
+ if (log.isDebugEnabled()) log.debug("resource not in enlisting global transaction context, immediately releasing to pool " + xaStatefulHolder);
+ xaStatefulHolder.setState(XAResourceHolder.STATE_IN_POOL);
+ } else {
+ throw new BitronixSystemException("cannot close a resource when its XAResource is taking part in an unfinished global transaction");
+ }
+ }
+ else if (bean.getDeferConnectionRelease()) {
+ // global mode, defer connection requeuing
+ if (log.isDebugEnabled()) log.debug("deferring release to pool of " + xaStatefulHolder);
+
+ if (!TransactionContextHelper.isAlreadyRegisteredForDeferredRelease(xaStatefulHolder, currentTransaction)) {
+ if (log.isDebugEnabled()) log.debug("registering DeferredReleaseSynchronization for " + xaStatefulHolder);
+ DeferredReleaseSynchronization synchronization = new DeferredReleaseSynchronization(xaStatefulHolder);
+ currentTransaction.getSynchronizationScheduler().add(synchronization, Scheduler.ALWAYS_LAST_POSITION);
+ }
+ else if (log.isDebugEnabled()) log.debug("already registered DeferredReleaseSynchronization for " + xaStatefulHolder);
+
+ xaStatefulHolder.setState(XAResourceHolder.STATE_NOT_ACCESSIBLE);
+ }
+ else {
+ // global mode, immediate connection requeuing
+ if (log.isDebugEnabled()) log.debug("immediately releasing to pool " + xaStatefulHolder);
+ xaStatefulHolder.setState(XAResourceHolder.STATE_IN_POOL);
+ }
+ }
+
+ /**
+ * Ensure the {@link XAStatefulHolder}'s release won't be deferred anymore (when appropriate) as it has been recycled.
+ * @param xaStatefulHolder the recycled {@link XAStatefulHolder}.
+ */
+ public static void recycle(XAStatefulHolder xaStatefulHolder) {
+ BitronixTransaction currentTransaction = currentTransaction();
+ if (log.isDebugEnabled()) log.debug("marking " + xaStatefulHolder + " as recycled in " + currentTransaction);
+ Scheduler synchronizationScheduler = currentTransaction.getSynchronizationScheduler();
+
+ DeferredReleaseSynchronization deferredReleaseSynchronization = findDeferredRelease(xaStatefulHolder, currentTransaction);
+ if (deferredReleaseSynchronization != null) {
+ if (log.isDebugEnabled()) log.debug(xaStatefulHolder + " has been recycled, unregistering deferred release from " + currentTransaction);
+ synchronizationScheduler.remove(deferredReleaseSynchronization);
+ }
+ }
+
+
+ /* private methods must not call TransactionManagerServices.getTransactionManager().getCurrentTransaction() */
+
+ private static boolean isAlreadyRegisteredForDeferredRelease(XAStatefulHolder xaStatefulHolder, BitronixTransaction currentTransaction) {
+ boolean alreadyDeferred = findDeferredRelease(xaStatefulHolder, currentTransaction) != null;
+ if (log.isDebugEnabled()) log.debug(xaStatefulHolder + " is " + (alreadyDeferred ? "" : "not ") + "already registered for deferred release in " + currentTransaction);
+ return alreadyDeferred;
+ }
+
+ private static DeferredReleaseSynchronization findDeferredRelease(XAStatefulHolder xaStatefulHolder, BitronixTransaction currentTransaction) {
+ Scheduler synchronizationScheduler = currentTransaction.getSynchronizationScheduler();
+ Iterator it = synchronizationScheduler.iterator();
+
+ while (it.hasNext()) {
+ Synchronization synchronization = (Synchronization) it.next();
+ if (synchronization instanceof DeferredReleaseSynchronization) {
+ DeferredReleaseSynchronization deferredReleaseSynchronization = (DeferredReleaseSynchronization) synchronization;
+ if (deferredReleaseSynchronization.getXAStatefulHolder() == xaStatefulHolder) {
+ return deferredReleaseSynchronization;
+ }
+ } // if synchronization instanceof DeferredReleaseSynchronization
+ } // for
+
+ return null;
+ }
+
+ private static boolean isEnlistedInSomeTransaction(XAResourceHolder xaResourceHolder) throws BitronixSystemException {
+ if (log.isDebugEnabled()) log.debug("looking in in-flight transactions for XAResourceHolderState of " + xaResourceHolder);
+
+ if (!TransactionManagerServices.isTransactionManagerRunning()) {
+ if (log.isDebugEnabled()) log.debug("transaction manager not running, there is no in-flight transaction");
+ return false;
+ }
+
+ return xaResourceHolder.hasStateForXAResource(xaResourceHolder);
+ }
+
+ private static boolean isEnlistedInSomeTransaction(XAStatefulHolder xaStatefulHolder) throws BitronixSystemException {
+ List xaResourceHolders = xaStatefulHolder.getXAResourceHolders();
+ if (xaResourceHolders == null)
+ return false;
+
+ for (int i = 0; i < xaResourceHolders.size(); i++) {
+ XAResourceHolder xaResourceHolder = (XAResourceHolder) xaResourceHolders.get(i);
+ boolean enlisted = isEnlistedInSomeTransaction(xaResourceHolder);
+ if (enlisted)
+ return true;
+ }
+
+ return false;
+ }
+
+
+ private static boolean isInEnlistingGlobalTransactionContext(XAResourceHolder xaResourceHolder, BitronixTransaction currentTransaction) {
+ boolean globalTransactionMode = false;
+ if (currentTransaction != null && xaResourceHolder.getXAResourceHolderStatesForGtrid(currentTransaction.getResourceManager().getGtrid()) != null) {
+ globalTransactionMode = true;
+ }
+ if (log.isDebugEnabled()) log.debug("resource is " + (globalTransactionMode ? "" : "not ") + "in enlisting global transaction context: " + xaResourceHolder);
+ return globalTransactionMode;
+ }
+
+ private static boolean isInEnlistingGlobalTransactionContext(XAStatefulHolder xaStatefulHolder, BitronixTransaction currentTransaction) {
+ List xaResourceHolders = xaStatefulHolder.getXAResourceHolders();
+ if (xaResourceHolders == null)
+ return false;
+
+ for (int i = 0; i < xaResourceHolders.size(); i++) {
+ XAResourceHolder xaResourceHolder = (XAResourceHolder) xaResourceHolders.get(i);
+ boolean enlisted = isInEnlistingGlobalTransactionContext(xaResourceHolder, currentTransaction);
+ if (enlisted)
+ return true;
+ }
+
+ return false;
+ }
+
+ private static XAResourceHolderState getLatestAlreadyEnlistedXAResourceHolderState(XAResourceHolder xaResourceHolder, BitronixTransaction currentTransaction) {
+ if (currentTransaction == null)
+ return null;
+ Map statesForGtrid = xaResourceHolder.getXAResourceHolderStatesForGtrid(currentTransaction.getResourceManager().getGtrid());
+ if (statesForGtrid == null)
+ return null;
+ Iterator statesForGtridIt = statesForGtrid.values().iterator();
+
+ XAResourceHolderState result = null;
+
+ // iteration order is guraranteed so just take the latest matching one in the iterator
+ while (statesForGtridIt.hasNext()) {
+ XAResourceHolderState xaResourceHolderState = (XAResourceHolderState) statesForGtridIt.next();
+
+ if (xaResourceHolderState != null && xaResourceHolderState.getXid() != null) {
+ BitronixXid bitronixXid = xaResourceHolderState.getXid();
+ Uid resourceGtrid = bitronixXid.getGlobalTransactionIdUid();
+ Uid currentTransactionGtrid = currentTransaction.getResourceManager().getGtrid();
+
+ if (currentTransactionGtrid.equals(resourceGtrid)) {
+ result = xaResourceHolderState;
+ }
+ }
+ }
+
+ return result;
+ }
+
+}
diff --git a/src/bitronix/tm/resource/common/XAPool.java b/src/bitronix/tm/resource/common/XAPool.java
new file mode 100644
index 0000000..d49a0e9
--- /dev/null
+++ b/src/bitronix/tm/resource/common/XAPool.java
@@ -0,0 +1,539 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.common;
+
+import java.util.*;
+
+import javax.transaction.Synchronization;
+import javax.transaction.xa.XAResource;
+
+import org.slf4j.*;
+
+import bitronix.tm.*;
+import bitronix.tm.internal.*;
+import bitronix.tm.recovery.*;
+import bitronix.tm.utils.*;
+import bitronix.tm.utils.CryptoEngine;
+
+/**
+ * Generic XA pool. {@link XAStatefulHolder} instances are created by the {@link XAPool} out of a
+ * {@link XAResourceProducer}. Those objects are then pooled and can be retrieved and/or recycled by the pool
+ * depending on the running XA transaction's and the {@link XAStatefulHolder}'s states.
+ *
+ * @author lorban
+ */
+public class XAPool implements StateChangeListener {
+
+ private final static Logger log = LoggerFactory.getLogger(XAPool.class);
+ private final static String PASSWORD_PROPERTY_NAME = "password";
+
+ private Map statefulHolderTransactionMap = new HashMap();
+ private List objects = new ArrayList();
+ private ResourceBean bean;
+ private XAResourceProducer xaResourceProducer;
+ private Object xaFactory;
+ private boolean failed = false;
+
+ public XAPool(XAResourceProducer xaResourceProducer, ResourceBean bean) throws Exception {
+ this.xaResourceProducer = xaResourceProducer;
+ this.bean = bean;
+ if (bean.getMaxPoolSize() < 1 || bean.getMinPoolSize() > bean.getMaxPoolSize())
+ throw new IllegalArgumentException("cannot create a pool with min " + bean.getMinPoolSize() + " connection(s) and max " + bean.getMaxPoolSize() + " connection(s)");
+ if (bean.getAcquireIncrement() < 1)
+ throw new IllegalArgumentException("cannot create a pool with a connection acquisition increment less than 1, configured value is " + bean.getAcquireIncrement());
+
+ xaFactory = createXAFactory(bean);
+ init();
+
+ if (bean.getIgnoreRecoveryFailures())
+ log.warn("resource '" + bean.getUniqueName() + "' is configured to ignore recovery failures, make sure this setting is not enabled on a production system!");
+ }
+
+ private void init() throws Exception {
+ growUntilMinPoolSize();
+
+ if (bean.getMaxIdleTime() > 0) {
+ TransactionManagerServices.getTaskScheduler().schedulePoolShrinking(this);
+ }
+ }
+
+ private void growUntilMinPoolSize() throws Exception {
+ for (int i = (int)totalPoolSize(); i < bean.getMinPoolSize() ;i++) {
+ createPooledObject(xaFactory);
+ }
+ }
+
+ public Object getXAFactory() {
+ return xaFactory;
+ }
+
+ public synchronized void setFailed(boolean failed) {
+ this.failed = failed;
+ }
+
+ public synchronized boolean isFailed() {
+ return failed;
+ }
+
+ public synchronized Object getConnectionHandle() throws Exception {
+ return getConnectionHandle(true);
+ }
+
+ public synchronized Object getConnectionHandle(boolean recycle) throws Exception {
+ if (failed) {
+ try {
+ if (log.isDebugEnabled()) log.debug("resource '" + bean.getUniqueName() + "' is marked as failed, resetting and recovering it before trying connection acquisition");
+ close();
+ init();
+ IncrementalRecoverer.recover(xaResourceProducer);
+ }
+ catch (RecoveryException ex) {
+ throw new BitronixRuntimeException("incremental recovery failed when trying to acquire a connection from failed resource '" + bean.getUniqueName() + "'", ex);
+ }
+ catch (Exception ex) {
+ throw new BitronixRuntimeException("pool reset failed when trying to acquire a connection from failed resource '" + bean.getUniqueName() + "'", ex);
+ }
+ }
+
+ long remainingTime = bean.getAcquisitionTimeout() * 1000L;
+ long before = System.currentTimeMillis();
+ while (true) {
+ XAStatefulHolder xaStatefulHolder = null;
+ if (recycle) {
+ if (bean.getShareTransactionConnections()) {
+ xaStatefulHolder = getSharedXAStatefulHolder();
+ }
+ else {
+ xaStatefulHolder = getNotAccessible();
+ }
+ }
+ if (xaStatefulHolder == null) {
+ xaStatefulHolder = getInPool();
+ }
+ if (log.isDebugEnabled()) log.debug("found " + Decoder.decodeXAStatefulHolderState(xaStatefulHolder.getState()) + " connection " + xaStatefulHolder + " from " + this);
+
+ try {
+ // getConnection() here could throw an exception, if it doesn't the connection is
+ // still alive and we can share it (if sharing is enabled)
+ Object connectionHandle = xaStatefulHolder.getConnectionHandle();
+ if (bean.getShareTransactionConnections()) {
+ putSharedXAStatefulHolder(xaStatefulHolder);
+ }
+ return connectionHandle;
+ } catch (Exception ex) {
+ if (log.isDebugEnabled()) log.debug("connection is invalid, trying to close it", ex);
+ try {
+ xaStatefulHolder.close();
+ } catch (Exception ex2) {
+ if (log.isDebugEnabled()) log.debug("exception while trying to close invalid connection, ignoring it", ex2);
+ }
+ objects.remove(xaStatefulHolder);
+ if (log.isDebugEnabled()) log.debug("removed invalid connection " + xaStatefulHolder + " from " + this);
+
+ if (log.isDebugEnabled()) log.debug("waiting " + bean.getAcquisitionInterval() + "s before trying to acquire a connection again from " + this);
+ try {
+ wait(bean.getAcquisitionInterval() * 1000L);
+ } catch (InterruptedException ex2) {
+ // ignore
+ }
+
+ // check for timeout
+ long now = System.currentTimeMillis();
+ remainingTime -= (now - before);
+ if (remainingTime <= 0) {
+ throw new BitronixRuntimeException("cannot get valid connection from " + this + " after trying for " + bean.getAcquisitionTimeout() + "s", ex);
+ }
+ }
+ } // while true
+ }
+
+ public synchronized void close() {
+ if (log.isDebugEnabled()) log.debug("closing all connections of " + this);
+ for (int i = 0; i < totalPoolSize(); i++) {
+ XAStatefulHolder xaStatefulHolder = (XAStatefulHolder) objects.get(i);
+ try {
+ // This change is unrelated to BTM-35, but suppresses noise in the unit test
+ // output. Connections that are already in STATE_CLOSED should not be closed
+ // again.
+ if (xaStatefulHolder.getState() != XAStatefulHolder.STATE_CLOSED) {
+ xaStatefulHolder.close();
+ }
+ } catch (Exception ex) {
+ if (log.isDebugEnabled()) log.debug("ignoring exception while closing connection " + xaStatefulHolder, ex);
+ }
+ }
+
+ if (TransactionManagerServices.isTaskSchedulerRunning())
+ TransactionManagerServices.getTaskScheduler().cancelPoolShrinking(this);
+
+ objects.clear();
+ failed = false;
+ }
+
+ public synchronized long totalPoolSize() {
+ return objects.size();
+ }
+
+ public synchronized long inPoolSize() {
+ int count = 0;
+ for (int i = 0; i < totalPoolSize(); i++) {
+ XAStatefulHolder xaStatefulHolder = (XAStatefulHolder) objects.get(i);
+ if (xaStatefulHolder.getState() == XAStatefulHolder.STATE_IN_POOL)
+ count++;
+ }
+ return count;
+ }
+
+ public void stateChanged(XAStatefulHolder source, int oldState, int newState) {
+ if (newState == XAStatefulHolder.STATE_IN_POOL) {
+ if (log.isDebugEnabled()) log.debug("a connection's state changed to IN_POOL, notifying a thread eventually waiting for a connection");
+ synchronized (this) {
+ notify();
+ }
+ }
+ }
+
+ public void stateChanging(XAStatefulHolder source, int currentState, int futureState) {
+ }
+
+ public synchronized XAResourceHolder findXAResourceHolder(XAResource xaResource) {
+ for (int i = 0; i < totalPoolSize(); i++) {
+ XAStatefulHolder xaStatefulHolder = (XAStatefulHolder) objects.get(i);
+ List xaResourceHolders = xaStatefulHolder.getXAResourceHolders();
+
+ for (int j = 0; j < xaResourceHolders.size(); j++) {
+ XAResourceHolder holder = (XAResourceHolder) xaResourceHolders.get(j);
+ if (holder.getXAResource() == xaResource)
+ return holder;
+ }
+ }
+ return null;
+ }
+
+ public List getXAResourceHolders() {
+ return objects;
+ }
+
+ public Date getNextShrinkDate() {
+ return new Date(System.currentTimeMillis() + bean.getMaxIdleTime() * 1000);
+ }
+
+ public synchronized void shrink() throws Exception {
+ if (log.isDebugEnabled()) log.debug("shrinking " + this);
+ List toRemoveXaStatefulHolders = new ArrayList();
+ long now = System.currentTimeMillis();
+ for (int i = 0; i < totalPoolSize(); i++) {
+ XAStatefulHolder xaStatefulHolder = (XAStatefulHolder) objects.get(i);
+ if (xaStatefulHolder.getState() != XAStatefulHolder.STATE_IN_POOL)
+ continue;
+
+ long expirationTime = (xaStatefulHolder.getLastReleaseDate().getTime() + (bean.getMaxIdleTime() * 1000));
+ if (log.isDebugEnabled()) log.debug("checking if connection can be closed: " + xaStatefulHolder + " - closing time: " + expirationTime + ", now time: " + now);
+ if (expirationTime <= now) {
+ try {
+ xaStatefulHolder.close();
+ } catch (Exception ex) {
+ log.warn("error closing " + xaStatefulHolder, ex);
+ }
+ toRemoveXaStatefulHolders.add(xaStatefulHolder);
+ }
+ } // for
+ if (log.isDebugEnabled()) log.debug("closed " + toRemoveXaStatefulHolders.size() + " idle connection(s)");
+ objects.removeAll(toRemoveXaStatefulHolders);
+ growUntilMinPoolSize();
+ if (log.isDebugEnabled()) log.debug("shrunk " + this);
+ }
+
+ public synchronized void reset() throws Exception {
+ if (log.isDebugEnabled()) log.debug("resetting " + this);
+ List toRemoveXaStatefulHolders = new ArrayList();
+ for (int i = 0; i < totalPoolSize(); i++) {
+ XAStatefulHolder xaStatefulHolder = (XAStatefulHolder) objects.get(i);
+ if (xaStatefulHolder.getState() != XAStatefulHolder.STATE_IN_POOL)
+ continue;
+
+ try {
+ xaStatefulHolder.close();
+ } catch (Exception ex) {
+ log.warn("error closing " + xaStatefulHolder, ex);
+ }
+ toRemoveXaStatefulHolders.add(xaStatefulHolder);
+ }
+ if (log.isDebugEnabled()) log.debug("closed " + toRemoveXaStatefulHolders.size() + " connection(s)");
+ objects.removeAll(toRemoveXaStatefulHolders);
+ growUntilMinPoolSize();
+ if (log.isDebugEnabled()) log.debug("reset " + this);
+ }
+
+ public String toString() {
+ return "an XAPool of resource " + bean.getUniqueName() + " with " + totalPoolSize() + " connection(s) (" + inPoolSize() + " still available)" + (failed ? " -failed-" : "");
+ }
+
+ private void createPooledObject(Object xaFactory) throws Exception {
+ XAStatefulHolder xaStatefulHolder = xaResourceProducer.createPooledConnection(xaFactory, bean);
+ xaStatefulHolder.addStateChangeEventListener(this);
+ objects.add(xaStatefulHolder);
+ }
+
+ private static Object createXAFactory(ResourceBean bean) throws Exception {
+ String className = bean.getClassName();
+ if (className == null)
+ throw new IllegalArgumentException("className cannot be null");
+ Class xaFactoryClass = ClassLoaderUtils.loadClass(className);
+ Object xaFactory = xaFactoryClass.newInstance();
+
+ Iterator it = bean.getDriverProperties().entrySet().iterator();
+ while (it.hasNext()) {
+ Map.Entry entry = (Map.Entry) it.next();
+ String name = (String) entry.getKey();
+ String value = (String) entry.getValue();
+
+ if (name.endsWith(PASSWORD_PROPERTY_NAME)) {
+ value = decrypt(value);
+ }
+
+ if (log.isDebugEnabled()) log.debug("setting vendor property '" + name + "' to '" + value + "'");
+ PropertyUtils.setProperty(xaFactory, name, value);
+ }
+ return xaFactory;
+ }
+
+ private static String decrypt(String resourcePassword) throws Exception {
+ int startIdx = resourcePassword.indexOf("{");
+ int endIdx = resourcePassword.indexOf("}");
+
+ if (startIdx != 0 || endIdx == -1)
+ return resourcePassword;
+
+ String cipher = resourcePassword.substring(1, endIdx);
+ if (log.isDebugEnabled()) log.debug("resource password is encrypted, decrypting " + resourcePassword);
+ return CryptoEngine.decrypt(cipher, resourcePassword.substring(endIdx + 1));
+ }
+
+ private XAStatefulHolder getNotAccessible() {
+ if (log.isDebugEnabled()) log.debug("trying to recycle a NOT_ACCESSIBLE connection of " + this);
+ BitronixTransaction transaction = TransactionContextHelper.currentTransaction();
+ if (transaction == null) {
+ if (log.isDebugEnabled()) log.debug("no current transaction, no connection can be in state NOT_ACCESSIBLE when there is no global transaction context");
+ return null;
+ }
+ Uid currentTxGtrid = transaction.getResourceManager().getGtrid();
+ if (log.isDebugEnabled()) log.debug("current transaction GTRID is [" + currentTxGtrid + "]");
+
+ for (int i = 0; i < totalPoolSize(); i++) {
+ XAStatefulHolder xaStatefulHolder = (XAStatefulHolder) objects.get(i);
+ if (xaStatefulHolder.getState() == XAStatefulHolder.STATE_NOT_ACCESSIBLE) {
+ if (log.isDebugEnabled()) log.debug("found a connection in NOT_ACCESSIBLE state: " + xaStatefulHolder);
+ if (containsXAResourceHolderMatchingGtrid(xaStatefulHolder, currentTxGtrid))
+ return xaStatefulHolder;
+
+ }
+ } // for
+
+ if (log.isDebugEnabled()) log.debug("no NOT_ACCESSIBLE connection enlisted in this transaction");
+ return null;
+ }
+
+ private boolean containsXAResourceHolderMatchingGtrid(XAStatefulHolder xaStatefulHolder, Uid currentTxGtrid) {
+ List xaResourceHolders = xaStatefulHolder.getXAResourceHolders();
+ if (log.isDebugEnabled()) log.debug(xaResourceHolders.size() + " xa resource(s) created by connection in NOT_ACCESSIBLE state: " + xaStatefulHolder);
+ for (int i = 0; i < xaResourceHolders.size(); i++) {
+ XAResourceHolder xaResourceHolder = (XAResourceHolder) xaResourceHolders.get(i);
+
+ Map statesForGtrid = xaResourceHolder.getXAResourceHolderStatesForGtrid(currentTxGtrid);
+ if (statesForGtrid == null)
+ return false;
+
+ Iterator statesForGtridIt = statesForGtrid.values().iterator();
+ while (statesForGtridIt.hasNext()) {
+ XAResourceHolderState xaResourceHolderState = (XAResourceHolderState) statesForGtridIt.next();
+
+ // compare GTRIDs
+ BitronixXid bitronixXid = xaResourceHolderState.getXid();
+ Uid resourceGtrid = bitronixXid.getGlobalTransactionIdUid();
+ if (log.isDebugEnabled()) log.debug("NOT_ACCESSIBLE xa resource GTRID: " + resourceGtrid);
+ if (currentTxGtrid.equals(resourceGtrid)) {
+ if (log.isDebugEnabled()) log.debug("NOT_ACCESSIBLE xa resource's GTRID matched this transaction's GTRID, recycling it");
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ private XAStatefulHolder getInPool() throws Exception {
+ if (log.isDebugEnabled()) log.debug("getting a IN_POOL connection from " + this);
+
+ if (inPoolSize() == 0) {
+ if (log.isDebugEnabled()) log.debug("no more free connection in " + this + ", trying to grow it");
+ grow();
+ }
+
+ waitForConnectionInPool();
+ for (int i = 0; i < totalPoolSize(); i++) {
+ XAStatefulHolder xaStatefulHolder = (XAStatefulHolder) objects.get(i);
+ if (xaStatefulHolder.getState() == XAStatefulHolder.STATE_IN_POOL)
+ return xaStatefulHolder;
+ }
+ throw new BitronixRuntimeException("pool does not contain IN_POOL connection while it should !");
+ }
+
+ private synchronized void grow() throws Exception {
+ if (totalPoolSize() < bean.getMaxPoolSize()) {
+ long increment = bean.getAcquireIncrement();
+ if (totalPoolSize() + increment > bean.getMaxPoolSize()) {
+ increment = bean.getMaxPoolSize() - totalPoolSize();
+ }
+
+ if (log.isDebugEnabled()) log.debug("incrementing " + bean.getUniqueName() + " pool size by " + increment + " unit(s) to reach " + (totalPoolSize() + increment) + " connection(s)");
+ for (int i=0; i < increment ;i++) {
+ createPooledObject(xaFactory);
+ }
+ }
+ else {
+ if (log.isDebugEnabled()) log.debug("pool " + bean.getUniqueName() + " already at max size of " + totalPoolSize() + " connection(s), not growing it");
+ }
+ }
+
+ private synchronized void waitForConnectionInPool() {
+ long remainingTime = bean.getAcquisitionTimeout() * 1000L;
+ if (log.isDebugEnabled()) log.debug("waiting for IN_POOL connections count to be > 0, currently is " + inPoolSize());
+ while (inPoolSize() == 0) {
+ long before = System.currentTimeMillis();
+ try {
+ if (log.isDebugEnabled()) log.debug("waiting " + remainingTime + "ms");
+ wait(remainingTime);
+ if (log.isDebugEnabled()) log.debug("waiting over, IN_POOL connections count is now " + inPoolSize());
+ } catch (InterruptedException ex) {
+ // ignore
+ }
+
+ long now = System.currentTimeMillis();
+ remainingTime -= (now - before);
+ if (remainingTime <= 0 && inPoolSize() == 0) {
+ if (log.isDebugEnabled()) log.debug("connection pool dequeue timed out");
+ if (TransactionManagerServices.isTransactionManagerRunning())
+ TransactionManagerServices.getTransactionManager().dumpTransactionContexts();
+ throw new BitronixRuntimeException("XA pool of resource " + bean.getUniqueName() + " still empty after " + bean.getAcquisitionTimeout() + "s wait time");
+ }
+ } // while
+ }
+
+ /**
+ * Shared Connection Handling
+ */
+
+ /**
+ * Try to get a shared XAStatefulHolder. This method will either return
+ * a shared XAStatefulHolder or <code>null</code>. If there is no current
+ * transaction, XAStatefulHolder's are not shared. If there is a transaction
+ * <i>and</i> there is a XAStatefulHolder associated with this thread already,
+ * we return that XAStatefulHolder (provided it is ACCESSIBLE or NOT_ACCESSIBLE).
+ *
+ * @return a shared XAStatefulHolder or <code>null</code>
+ */
+ private XAStatefulHolder getSharedXAStatefulHolder() {
+ BitronixTransaction transaction = TransactionContextHelper.currentTransaction();
+ if (transaction == null) {
+ if (log.isDebugEnabled()) log.debug("no current transaction, shared connection map will not be used");
+ return null;
+ }
+ Uid currentTxGtrid = transaction.getResourceManager().getGtrid();
+
+ ThreadLocal threadLocal = (ThreadLocal) statefulHolderTransactionMap.get(currentTxGtrid);
+ if (threadLocal != null) {
+ XAStatefulHolder xaStatefulHolder = (XAStatefulHolder) threadLocal.get();
+ // Additional sanity checks...
+ if (xaStatefulHolder != null &&
+ xaStatefulHolder.getState() != XAStatefulHolder.STATE_IN_POOL &&
+ xaStatefulHolder.getState() != XAStatefulHolder.STATE_CLOSED) {
+
+ if (log.isDebugEnabled()) log.debug("sharing connection " + xaStatefulHolder + " in transaction " + currentTxGtrid);
+ return xaStatefulHolder;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * Try to share a XAStatefulHolder with other callers on this thread. If
+ * there is no current transaction, the XAStatefulHolder is not put into the
+ * ThreadLocal. If there is a transaction, and it is the first time we're
+ * attempting to share a XAStatefulHolder on this thread, then we register
+ * a Synchronization so we can pull the ThreadLocals out of the shared map
+ * when the transaction completes (either commit() or rollback()). Without
+ * the Synchronization we would "leak".
+ *
+ * @param xaStatefulHolder a XAStatefulHolder to share with other callers
+ * on this thread.
+ */
+ private void putSharedXAStatefulHolder(final XAStatefulHolder xaStatefulHolder) {
+ BitronixTransaction transaction = TransactionContextHelper.currentTransaction();
+ if (transaction == null) {
+ if (log.isDebugEnabled()) log.debug("no current transaction, not adding " + xaStatefulHolder + " to shared connection map");
+ return;
+ }
+ final Uid currentTxGtrid = transaction.getResourceManager().getGtrid();
+
+ ThreadLocal threadLocal = (ThreadLocal) statefulHolderTransactionMap.get(currentTxGtrid);
+ if (threadLocal == null) {
+ // This is the first time this TxGtrid/ThreadLocal is going into the map,
+ // register interest in synchronization so we can remove it at commit/rollback
+ try {
+ transaction.registerSynchronization(new SharedStatefulHolderCleanupSynchronization(currentTxGtrid));
+ } catch (Exception e) {
+ // OK, forget it. The transaction is either rollback only or already finished.
+ return;
+ }
+
+ threadLocal = new ThreadLocal();
+ statefulHolderTransactionMap.put(currentTxGtrid, threadLocal);
+ if (log.isDebugEnabled()) log.debug("added shared connection mapping for " + currentTxGtrid + " holder " + xaStatefulHolder);
+ }
+
+ // Set the XAStatefulHolder on the ThreadLocal. Even if we've already set it before,
+ // it's safe -- checking would be more expensive than just setting it again.
+ threadLocal.set(xaStatefulHolder);
+ }
+
+ private final class SharedStatefulHolderCleanupSynchronization implements Synchronization {
+ private Uid gtrid;
+
+ private SharedStatefulHolderCleanupSynchronization(Uid gtrid) {
+ this.gtrid = gtrid;
+ }
+
+ public void beforeCompletion() {
+ }
+
+ public void afterCompletion(int status) {
+ synchronized (XAPool.this) {
+ statefulHolderTransactionMap.remove(gtrid);
+ if (log.isDebugEnabled()) log.debug("deleted shared connection mappings for " + gtrid);
+ }
+ }
+
+ public String toString() {
+ return "a SharedStatefulHolderCleanupSynchronization with GTRID [" + gtrid + "]";
+ }
+ }
+}
diff --git a/src/bitronix/tm/resource/common/XAResourceHolder.java b/src/bitronix/tm/resource/common/XAResourceHolder.java
new file mode 100644
index 0000000..602389a
--- /dev/null
+++ b/src/bitronix/tm/resource/common/XAResourceHolder.java
@@ -0,0 +1,81 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.common;
+
+import bitronix.tm.BitronixXid;
+import bitronix.tm.internal.XAResourceHolderState;
+import bitronix.tm.utils.Uid;
+
+import javax.transaction.xa.XAResource;
+import java.util.Map;
+
+/**
+ * {@link XAResource} wrappers must implement this interface. It defines a way to get access to the transactional
+ * state of this {@link XAResourceHolder}.
+ *
+ * @see XAResourceHolderState
+ * @author lorban
+ */
+public interface XAResourceHolder extends XAStatefulHolder {
+
+ /**
+ * Get the vendor's {@link XAResource} implementation of the wrapped resource.
+ * @return the vendor's XAResource implementation.
+ */
+ public XAResource getXAResource();
+
+ /**
+ * Get all the {@link XAResourceHolderState}s of this wrapped resource for a specific GTRID.
+ * <p>The returned Map is guaranteed to return states in order they were added when its values are iterated.</p>
+ * @param gtrid the GTRID of the transaction state to add.
+ * @return the {@link XAResourceHolderState}.
+ */
+ public Map getXAResourceHolderStatesForGtrid(Uid gtrid);
+
+ /**
+ * Add a {@link XAResourceHolderState} of this wrapped resource.
+ * @param xid the Xid of the transaction state to add.
+ * @param xaResourceHolderState the {@link XAResourceHolderState} to set.
+ */
+ public void putXAResourceHolderState(BitronixXid xid, XAResourceHolderState xaResourceHolderState);
+
+
+ /**
+ * Remove all states related to a specific Xid from this wrapped resource.
+ * @param xid the Xid of the transaction state to remove.
+ */
+ public void removeXAResourceHolderState(BitronixXid xid);
+
+ /**
+ * Check if this {@link XAResourceHolder} contains a state for a specific {@link XAResourceHolder}.
+ * In other words: has the {@link XAResourceHolder}'s {@link XAResource} been enlisted in some transaction ?
+ * @param xaResourceHolder the {@link XAResourceHolder} to look for.
+ * @return true if the {@link XAResourceHolder} is enlisted in some transaction, false otherwise.
+ */
+ public boolean hasStateForXAResource(XAResourceHolder xaResourceHolder);
+
+ /**
+ * Get the ResourceBean which created this XAResourceHolder.
+ * @return the ResourceBean which created this XAResourceHolder.
+ */
+ public ResourceBean getResourceBean();
+
+}
diff --git a/src/bitronix/tm/resource/common/XAResourceProducer.java b/src/bitronix/tm/resource/common/XAResourceProducer.java
new file mode 100644
index 0000000..c807e1c
--- /dev/null
+++ b/src/bitronix/tm/resource/common/XAResourceProducer.java
@@ -0,0 +1,91 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.common;
+
+import bitronix.tm.internal.XAResourceHolderState;
+import bitronix.tm.recovery.RecoveryException;
+
+import javax.naming.Referenceable;
+import javax.transaction.xa.XAResource;
+import java.io.Serializable;
+
+/**
+ * A {@link XAResourceProducer} is a {@link XAStatefulHolder} factory. It must be implemented by any class that is
+ * able to produce pooled XA connections.
+ *
+ * @author lorban
+ */
+public interface XAResourceProducer extends Referenceable, Serializable {
+
+ /**
+ * Get the resource name as registered in the transactions journal.
+ * @return the unique name of the resource.
+ */
+ public String getUniqueName();
+
+ /**
+ * Prepare the recoverable {@link XAResource} producer for recovery.
+ * @return a {@link XAResourceHolderState} object that can be used to call <code>recover()</code>.
+ * @throws bitronix.tm.recovery.RecoveryException thrown when a {@link XAResourceHolderState} cannot be acquired.
+ */
+ public XAResourceHolderState startRecovery() throws RecoveryException;
+
+ /**
+ * Release internal resources held after call to <code>startRecovery()</code>.
+ * @throws bitronix.tm.recovery.RecoveryException thrown when an error occured while releasing reserved resources.
+ */
+ public void endRecovery() throws RecoveryException;
+
+ /**
+ * Mark this resource producer as failed or not. A resource is considered failed if recovery fails to run on it.
+ * @param failed true is the resource must be considered failed, false it it must be considered sane.
+ */
+ public void setFailed(boolean failed);
+
+ /**
+ * Find in the {@link XAResourceHolder}s created by this {@link XAResourceProducer} the one which this
+ * {@link XAResource} belongs to.
+ * @param xaResource the {@link XAResource} to look for.
+ * @return the associated {@link XAResourceHolder} or null if the {@link XAResource} does not belong to this
+ * {@link XAResourceProducer}.
+ */
+ public XAResourceHolder findXAResourceHolder(XAResource xaResource);
+
+ /**
+ * Initialize this {@link XAResourceProducer}'s internal resources.
+ */
+ public void init();
+
+ /**
+ * Release this {@link XAResourceProducer}'s internal resources.
+ */
+ public void close();
+
+ /**
+ * Create a {@link XAStatefulHolder} that will be placed in an {@link XAPool}.
+ * @param xaFactory the vendor's resource-specific XA factory.
+ * @param bean the resource-specific bean describing the resource parameters.
+ * @return a {@link XAStatefulHolder} that will be placed in an {@link XAPool}.
+ * @throws Exception thrown when the {@link XAStatefulHolder} cannot be created.
+ */
+ public XAStatefulHolder createPooledConnection(Object xaFactory, ResourceBean bean) throws Exception;
+
+}
diff --git a/src/bitronix/tm/resource/common/XAStatefulHolder.java b/src/bitronix/tm/resource/common/XAStatefulHolder.java
new file mode 100644
index 0000000..d765196
--- /dev/null
+++ b/src/bitronix/tm/resource/common/XAStatefulHolder.java
@@ -0,0 +1,113 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.common;
+
+import java.util.List;
+import java.util.Date;
+
+/**
+ * Any pooled connection class must implement the {@link XAStatefulHolder} interface. It defines all the services
+ * that must be implemented by the connection as well as the pooling lifecycle states.
+ * Instances of this interface have to create and manage {@link XAResourceHolder}s.
+ *
+ * @author lorban
+ */
+public interface XAStatefulHolder {
+
+ /**
+ * The state in which the resource is when it is closed and unusable.
+ */
+ public final static int STATE_CLOSED = 0;
+
+ /**
+ * The state in which the resource is when it is available in the pool.
+ */
+ public final static int STATE_IN_POOL = 1;
+
+ /**
+ * The state in which the resource is when it out of the pool but accessible by the application.
+ */
+ public final static int STATE_ACCESSIBLE = 2;
+
+ /**
+ * The state in which the resource is when it out of the pool but not accessible by the application.
+ */
+ public final static int STATE_NOT_ACCESSIBLE = 3;
+
+
+ /**
+ * Get the current resource state.
+ * <p>This method is thread-safe.</p>
+ * @return the current resource state.
+ */
+ public int getState();
+
+ /**
+ * Set the current resource state.
+ * <p>This method is thread-safe.</p>
+ * @param state the current resource state.
+ */
+ public void setState(int state);
+
+ /**
+ * Register an implementation of {@link StateChangeListener}.
+ * @param listener the {@link StateChangeListener} implementation to register.
+ */
+ public void addStateChangeEventListener(StateChangeListener listener);
+
+ /**
+ * Unregister an implementation of {@link StateChangeListener}.
+ * @param listener the {@link StateChangeListener} implementation to unregister.
+ */
+ public void removeStateChangeEventListener(StateChangeListener listener);
+
+ /**
+ * Get the list of {@link bitronix.tm.resource.common.XAResourceHolder}s created by this
+ * {@link bitronix.tm.resource.common.XAStatefulHolder} that are still open.
+ * <p>This method is thread-safe.</p>
+ * @return the list of {@link XAResourceHolder}s created by this
+ * {@link bitronix.tm.resource.common.XAStatefulHolder} that are still open.
+ */
+ public List getXAResourceHolders();
+
+ /**
+ * Create a disposable handler used to drive a pooled instance of
+ * {@link bitronix.tm.resource.common.XAStatefulHolder}.
+ * <p>This method is thread-safe.</p>
+ * @return a resource-specific disaposable connection object.
+ * @throws Exception a resource-specific exception thrown when the disaposable connection cannot be created.
+ */
+ public Object getConnectionHandle() throws Exception;
+
+ /**
+ * Close the physical connection that this {@link bitronix.tm.resource.common.XAStatefulHolder} represents.
+ * @throws Exception a resource-specific exception thrown when there is an error closing the physical connection.
+ */
+ public void close() throws Exception;
+
+ /**
+ * Get the date at which this object was last released to the pool. This is required to check if it is eligible
+ * for discard when the containing pool needs to shrink.
+ * @return the date at which this object was last released to the pool or null if it never left the pool.
+ */
+ public Date getLastReleaseDate();
+
+}
diff --git a/src/bitronix/tm/resource/common/package.html b/src/bitronix/tm/resource/common/package.html
new file mode 100644
index 0000000..b0fa953
--- /dev/null
+++ b/src/bitronix/tm/resource/common/package.html
@@ -0,0 +1,7 @@
+<html>
+<body>
+ <p>
+ Resource management code common across all resource types.
+ </p>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.java b/src/bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.java
new file mode 100644
index 0000000..8b42af4
--- /dev/null
+++ b/src/bitronix/tm/resource/ehcache/EhCacheXAResourceHolder.java
@@ -0,0 +1,97 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.ehcache;
+
+import bitronix.tm.resource.common.AbstractXAResourceHolder;
+import bitronix.tm.resource.common.ResourceBean;
+
+import javax.transaction.xa.XAResource;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * EHCache implementation of BTM's XAResourceHolder.
+ * <p>
+ * Copyright 2003-2010 Terracotta, Inc.
+ * </p>
+ * @author lorban
+ */
+public class EhCacheXAResourceHolder extends AbstractXAResourceHolder {
+
+ private final XAResource resource;
+ private final ResourceBean bean;
+
+ /**
+ * Create a new EhCacheXAResourceHolder for a particular XAResource
+ * @param resource the required XAResource
+ * @param bean the required ResourceBean
+ */
+ public EhCacheXAResourceHolder(XAResource resource, ResourceBean bean) {
+ this.resource = resource;
+ this.bean = bean;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public XAResource getXAResource() {
+ return resource;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public ResourceBean getResourceBean() {
+ return bean;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void close() throws Exception {
+ throw new UnsupportedOperationException("EhCacheXAResourceHolder cannot be used with an XAPool");
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public Object getConnectionHandle() throws Exception {
+ throw new UnsupportedOperationException("EhCacheXAResourceHolder cannot be used with an XAPool");
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public Date getLastReleaseDate() {
+ throw new UnsupportedOperationException("EhCacheXAResourceHolder cannot be used with an XAPool");
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public List getXAResourceHolders() {
+ List xaResourceHolders = new ArrayList(1);
+ xaResourceHolders.add(this);
+ return xaResourceHolders;
+ }
+
+}
diff --git a/src/bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.java b/src/bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.java
new file mode 100644
index 0000000..6fd44e4
--- /dev/null
+++ b/src/bitronix/tm/resource/ehcache/EhCacheXAResourceProducer.java
@@ -0,0 +1,222 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.ehcache;
+
+import bitronix.tm.internal.BitronixRuntimeException;
+import bitronix.tm.internal.XAResourceHolderState;
+import bitronix.tm.recovery.RecoveryException;
+import bitronix.tm.resource.ResourceObjectFactory;
+import bitronix.tm.resource.ResourceRegistrar;
+import bitronix.tm.resource.common.RecoveryXAResourceHolder;
+import bitronix.tm.resource.common.ResourceBean;
+import bitronix.tm.resource.common.XAResourceHolder;
+import bitronix.tm.resource.common.XAResourceProducer;
+import bitronix.tm.resource.common.XAStatefulHolder;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.naming.NamingException;
+import javax.naming.Reference;
+import javax.naming.StringRefAddr;
+import javax.transaction.xa.XAResource;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * EHCache implementation of BTM's XAResourceProducer.
+ * <p>
+ * Copyright 2003-2010 Terracotta, Inc.
+ * </p>
+ * @author lorban
+ */
+public final class EhCacheXAResourceProducer extends ResourceBean implements XAResourceProducer {
+
+ private static final Logger LOG = LoggerFactory.getLogger(EhCacheXAResourceProducer.class.getName());
+
+ private static final Map PRODUCERS = new HashMap();
+
+ private final List xaResourceHolders = new ArrayList();
+ private RecoveryXAResourceHolder recoveryXAResourceHolder;
+
+
+ private EhCacheXAResourceProducer() {
+ setApplyTransactionTimeout(true);
+ }
+
+
+ /**
+ * Register an XAResource of a cache with BTM. The first time a XAResource is registered a new
+ * EhCacheXAResourceProducer is created to hold it.
+ * @param uniqueName the uniqueName of this XAResourceProducer, usually the cache's name
+ * @param xaResource the XAResource to be registered
+ */
+ public static void registerXAResource(String uniqueName, XAResource xaResource) {
+ synchronized (PRODUCERS) {
+ EhCacheXAResourceProducer xaResourceProducer = (EhCacheXAResourceProducer) PRODUCERS.get(uniqueName);
+
+ if (xaResourceProducer == null) {
+ xaResourceProducer = new EhCacheXAResourceProducer();
+ xaResourceProducer.setUniqueName(uniqueName);
+ // the initial xaResource must be added before init() is called
+ xaResourceProducer.addXAResource(xaResource);
+ xaResourceProducer.init();
+
+ PRODUCERS.put(uniqueName, xaResourceProducer);
+ } else {
+ xaResourceProducer.addXAResource(xaResource);
+ }
+ }
+ }
+
+ /**
+ * Unregister an XAResource of a cache from BTM.
+ * @param uniqueName the uniqueName of this XAResourceProducer, usually the cache's name
+ * @param xaResource the XAResource to be registered
+ */
+ public static synchronized void unregisterXAResource(String uniqueName, XAResource xaResource) {
+ synchronized (PRODUCERS) {
+ EhCacheXAResourceProducer xaResourceProducer = (EhCacheXAResourceProducer) PRODUCERS.get(uniqueName);
+
+ if (xaResourceProducer != null) {
+ boolean found = xaResourceProducer.removeXAResource(xaResource);
+ if (!found) {
+ LOG.error("no XAResource " + xaResource + " found in XAResourceProducer with name " + uniqueName);
+ }
+ if (xaResourceProducer.xaResourceHolders.isEmpty()) {
+ xaResourceProducer.close();
+ PRODUCERS.remove(uniqueName);
+ }
+ } else {
+ LOG.error("no XAResourceProducer registered with name " + uniqueName);
+ }
+ }
+ }
+
+
+ private void addXAResource(XAResource xaResource) {
+ synchronized (xaResourceHolders) {
+ EhCacheXAResourceHolder xaResourceHolder = new EhCacheXAResourceHolder(xaResource, this);
+
+ xaResourceHolders.add(xaResourceHolder);
+ }
+ }
+
+ private boolean removeXAResource(XAResource xaResource) {
+ synchronized (xaResourceHolders) {
+ for (int i = 0; i < xaResourceHolders.size(); i++) {
+ EhCacheXAResourceHolder xaResourceHolder = (EhCacheXAResourceHolder) xaResourceHolders.get(i);
+ if (xaResourceHolder.getXAResource() == xaResource) {
+ xaResourceHolders.remove(i);
+ return true;
+ }
+ }
+ return false;
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public XAResourceHolderState startRecovery() throws RecoveryException {
+ synchronized (xaResourceHolders) {
+ if (recoveryXAResourceHolder != null) {
+ throw new RecoveryException("recovery already in progress on " + this);
+ }
+
+ if (xaResourceHolders.isEmpty()) {
+ throw new RecoveryException("no XAResource registered, recovery cannot be done on " + this);
+ }
+
+ recoveryXAResourceHolder = new RecoveryXAResourceHolder((XAResourceHolder) xaResourceHolders.get(0));
+ return new XAResourceHolderState(recoveryXAResourceHolder, this);
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void endRecovery() throws RecoveryException {
+ recoveryXAResourceHolder = null;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void setFailed(boolean failed) {
+ // cache cannot fail as it's not connection oriented
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public XAResourceHolder findXAResourceHolder(XAResource xaResource) {
+ synchronized (xaResourceHolders) {
+ for (int i = 0; i < xaResourceHolders.size(); i++) {
+ EhCacheXAResourceHolder xaResourceHolder = (EhCacheXAResourceHolder) xaResourceHolders.get(i);
+ if (xaResource == xaResourceHolder.getXAResource()) {
+ return xaResourceHolder;
+ }
+ }
+
+ return null;
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void init() {
+ try {
+ ResourceRegistrar.register(this);
+ } catch (RecoveryException e) {
+ throw new BitronixRuntimeException("error recovering " + this, e);
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void close() {
+ synchronized (xaResourceHolders) {
+ xaResourceHolders.clear();
+ ResourceRegistrar.unregister(this);
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public XAStatefulHolder createPooledConnection(Object xaFactory, ResourceBean bean) throws Exception {
+ throw new UnsupportedOperationException("EhCache is not connection-oriented");
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public Reference getReference() throws NamingException {
+ return new Reference(EhCacheXAResourceProducer.class.getName(),
+ new StringRefAddr("uniqueName", getUniqueName()),
+ ResourceObjectFactory.class.getName(), null);
+ }
+
+}
diff --git a/src/bitronix/tm/resource/ehcache/package.html b/src/bitronix/tm/resource/ehcache/package.html
new file mode 100644
index 0000000..452b265
--- /dev/null
+++ b/src/bitronix/tm/resource/ehcache/package.html
@@ -0,0 +1,7 @@
+<html>
+<body>
+ <p>
+ Ehcache specific resource management code.
+ </p>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/bitronix/tm/resource/jdbc/BaseProxyHandlerClass.java b/src/bitronix/tm/resource/jdbc/BaseProxyHandlerClass.java
new file mode 100644
index 0000000..e5bc31c
--- /dev/null
+++ b/src/bitronix/tm/resource/jdbc/BaseProxyHandlerClass.java
@@ -0,0 +1,120 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.jdbc;
+
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Base class for Proxy InvocationHandlers. Maintains a method cache
+ * for swift delegation to either the overridden methods (implemented
+ * in a sub-class of this class) or the underlying delegate class'
+ * methods. Makes proxying an interface almost completely painless.
+ * <p/>
+ *
+ * @author brettw
+ */
+public abstract class BaseProxyHandlerClass implements InvocationHandler {
+ private static Map classMethodCache = new HashMap();
+ private Map methodCache;
+
+ public BaseProxyHandlerClass() {
+ synchronized (this.getClass()) {
+ methodCache = (Map) classMethodCache.get(this.getClass());
+ if (methodCache == null) {
+ methodCache = new HashMap();
+ classMethodCache.put(this.getClass(), methodCache);
+ }
+ }
+ }
+
+ /**
+ * Implementation of the InvocationHandler interface.
+ *
+ * @see java.lang.reflect.InvocationHandler
+ */
+ public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
+ try {
+ // If the method is directly overridden by "this" (i.e. sub-class)
+ // class call "this" class' Method with "this" object, otherwise
+ // call the non-overridden Method with the proxied object
+ Method delegatedMethod = (Method) getDelegatedMethod(method);
+ return delegatedMethod.invoke(isOurMethod(delegatedMethod) ? this : getProxiedDelegate(), args);
+ } catch (InvocationTargetException ite) {
+ // the InvocationTargetException's target actually is the exception thrown by the delegate
+ // throw this one to avoid the caller to receive proxy-related exceptions
+ throw ite.getTargetException();
+ }
+ }
+
+ /**
+ * Get the overridden Method for the super-class of this base class, if it
+ * exists. Otherwise, the method provided is not overridden by us and should
+ * go to the underlying proxied class.
+ * <p/>
+ * This method will return the original Method that was passed in, or if
+ * the method is overridden by us it will return the Method from "this"
+ * class. Where "this" is actually the sub-class of this class.
+ *
+ * @param method the Method object to map
+ * @return the Method object that should be invoked, either ours
+ * (overridden) or the underlying proxied object
+ */
+ private synchronized Method getDelegatedMethod(Method method) {
+ Method delegated = (Method) methodCache.get(method);
+ if (delegated != null) {
+ return delegated;
+ }
+
+ try {
+ Class[] parameterTypes = method.getParameterTypes();
+ delegated = this.getClass().getMethod(method.getName(), parameterTypes);
+ } catch (Exception e) {
+ delegated = method;
+ }
+ methodCache.put(method, delegated);
+ return delegated;
+ }
+
+ /**
+ * Check whether the specified Method is overridden by us or not.
+ *
+ * @param method the Method object to check
+ * @return true if the Method is ours, false if it belongs to the proxied
+ * Class
+ */
+ private boolean isOurMethod(Method method) {
+ return this.getClass().equals(method.getDeclaringClass());
+ }
+
+ /**
+ * Must be implemented by the sub-class of this class. This method
+ * should return the "true" object to be delegated to in the case
+ * that the method is not overridden by the sub-class.
+ *
+ * @return the true delegate object
+ * @throws Exception can throw any exception if desired
+ */
+ public abstract Object getProxiedDelegate() throws Exception;
+}
diff --git a/src/bitronix/tm/resource/jdbc/ConnectionCustomizer.java b/src/bitronix/tm/resource/jdbc/ConnectionCustomizer.java
new file mode 100644
index 0000000..5a9ce97
--- /dev/null
+++ b/src/bitronix/tm/resource/jdbc/ConnectionCustomizer.java
@@ -0,0 +1,27 @@
+package bitronix.tm.resource.jdbc;
+
+import java.sql.Connection;
+
+/**
+ * Listener of connections created by a PoolingDataSource. Implementations of this class must be serializable
+ * and are handed raw, physical database Connections
+ *
+ * @author Ludovic Orban
+ */
+public interface ConnectionCustomizer {
+
+ /**
+ * Called when the physical connection is created.
+ * @param connection the physical connection.
+ * @param uniqueName the PoolingDataSource unique name.
+ */
+ public void onAcquire(Connection connection, String uniqueName);
+
+ /**
+ * Called when the physical connection is destroyed.
+ * @param connection the physical connection.
+ * @param uniqueName the PoolingDataSource unique name.
+ */
+ public void onDestroy(Connection connection, String uniqueName);
+
+}
diff --git a/src/bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.java b/src/bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.java
new file mode 100644
index 0000000..ad5d649
--- /dev/null
+++ b/src/bitronix/tm/resource/jdbc/JdbcCallableStatementHandle.java
@@ -0,0 +1,76 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.jdbc;
+
+import java.sql.*;
+
+/**
+ * CallableStatement {@link Statement} wrapper.
+ * <p/>
+ * This class is a proxy handler for a CallableStatement. It does not
+ * implement the CallableStatement interface or extend a class directly,
+ * but you methods implemented here will override those of the
+ * underlying delegate. Simply implement a method with the same
+ * signature, and the local method will be called rather than the delegate.
+ * <p/>
+ *
+ * @author brettw
+ */
+public class JdbcCallableStatementHandle extends BaseProxyHandlerClass { // implements CallableStatement
+
+ // The 'parent' connection. Used to remove this statement delegate
+ // from the un-closed statements list when close() is called.
+ private JdbcPooledConnection parentConnection;
+
+ private CallableStatement delegate;
+
+ public JdbcCallableStatementHandle(CallableStatement delegate, JdbcPooledConnection pooledConnection) {
+ this.delegate = delegate;
+ this.parentConnection = pooledConnection;
+ }
+
+ public Object getProxiedDelegate() throws Exception {
+ return delegate;
+ }
+
+ /* java.sql.Wrapper implementation */
+
+ public boolean isWrapperFor(Class iface) throws SQLException {
+ if (CallableStatement.class.equals(iface)) {
+ return true;
+ }
+ return false;
+ }
+
+ public Object unwrap(Class iface) throws SQLException {
+ if (CallableStatement.class.equals(iface)) {
+ return delegate;
+ }
+ throw new SQLException(getClass().getName() + " is not a wrapper for interface " + iface.getName());
+ }
+
+ /* Overridden methods of java.sql.PreparedStatement */
+
+ public void close() throws SQLException {
+ parentConnection.unregisterUncachedStatement(delegate);
+ delegate.close();
+ }
+}
diff --git a/src/bitronix/tm/resource/jdbc/JdbcConnectionHandle.java b/src/bitronix/tm/resource/jdbc/JdbcConnectionHandle.java
new file mode 100644
index 0000000..a2ddcf9
--- /dev/null
+++ b/src/bitronix/tm/resource/jdbc/JdbcConnectionHandle.java
@@ -0,0 +1,402 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.jdbc;
+
+import bitronix.tm.resource.common.TransactionContextHelper;
+import bitronix.tm.utils.ClassLoaderUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.transaction.RollbackException;
+import javax.transaction.SystemException;
+import java.lang.reflect.Proxy;
+import java.sql.CallableStatement;
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+import java.sql.Savepoint;
+import java.sql.Statement;
+
+/**
+ * Disposable Connection handle.
+ *
+ * @author lorban, brettw
+ */
+public class JdbcConnectionHandle extends BaseProxyHandlerClass { // implements Connection
+
+ private final static Logger log = LoggerFactory.getLogger(JdbcConnectionHandle.class);
+
+ private JdbcPooledConnection jdbcPooledConnection;
+ private Connection delegate;
+
+ public JdbcConnectionHandle(JdbcPooledConnection jdbcPooledConnection, Connection connection) {
+ this.jdbcPooledConnection = jdbcPooledConnection;
+ this.delegate = connection;
+ }
+
+ public JdbcPooledConnection getPooledConnection() {
+ return jdbcPooledConnection;
+ }
+
+ private Connection getDelegate() throws SQLException {
+ if (jdbcPooledConnection == null)
+ throw new SQLException("connection is closed");
+ return delegate;
+ }
+
+ public Connection getConnection() {
+ return delegate;
+ }
+
+ public String toString() {
+ return "a JdbcConnectionHandle of " + jdbcPooledConnection + " on " + delegate;
+ }
+
+ /**
+ * Enlist this connection into the current transaction if automaticEnlistingEnabled = true for this resource.
+ * If no transaction is running then this method does nothing.
+ * @throws SQLException thrown when an error occurs during elistment.
+ */
+ private void enlistResource() throws SQLException {
+ if (jdbcPooledConnection == null)
+ throw new SQLException("connection handle already closed");
+
+ if (jdbcPooledConnection.getPoolingDataSource().getAutomaticEnlistingEnabled()) {
+ try {
+ TransactionContextHelper.enlistInCurrentTransaction(jdbcPooledConnection);
+ } catch (SystemException ex) {
+ throw (SQLException) new SQLException("error enlisting " + this).initCause(ex);
+ } catch (RollbackException ex) {
+ throw (SQLException) new SQLException("error enlisting " + this).initCause(ex);
+ }
+ } // if getAutomaticEnlistingEnabled
+ }
+
+ /* Overridden methods of java.sql.Connection */
+
+ public void close() throws SQLException {
+ if (log.isDebugEnabled()) log.debug("closing " + this);
+
+ // in case the connection has already been closed
+ if (jdbcPooledConnection == null)
+ return;
+
+ jdbcPooledConnection.release();
+ jdbcPooledConnection = null;
+ }
+
+ public void commit() throws SQLException {
+ if (jdbcPooledConnection == null)
+ throw new SQLException("connection handle already closed");
+ if (jdbcPooledConnection.isParticipatingInActiveGlobalTransaction())
+ throw new SQLException("cannot commit a resource enlisted in a global transaction");
+
+ getDelegate().commit();
+ }
+
+ public void rollback() throws SQLException {
+ if (jdbcPooledConnection == null)
+ throw new SQLException("connection handle already closed");
+ if (jdbcPooledConnection.isParticipatingInActiveGlobalTransaction())
+ throw new SQLException("cannot rollback a resource enlisted in a global transaction");
+
+ getDelegate().rollback();
+ }
+
+ public void rollback(Savepoint savepoint) throws SQLException {
+ if (jdbcPooledConnection == null)
+ throw new SQLException("connection handle already closed");
+ if (jdbcPooledConnection.isParticipatingInActiveGlobalTransaction())
+ throw new SQLException("cannot rollback a resource enlisted in a global transaction");
+
+ getDelegate().rollback(savepoint);
+ }
+
+ public Savepoint setSavepoint() throws SQLException {
+ if (jdbcPooledConnection == null)
+ throw new SQLException("connection handle already closed");
+ if (jdbcPooledConnection.isParticipatingInActiveGlobalTransaction())
+ throw new SQLException("cannot set a savepoint on a resource enlisted in a global transaction");
+
+ return getDelegate().setSavepoint();
+ }
+
+ public Savepoint setSavepoint(String name) throws SQLException {
+ if (jdbcPooledConnection == null)
+ throw new SQLException("connection handle already closed");
+ if (jdbcPooledConnection.isParticipatingInActiveGlobalTransaction())
+ throw new SQLException("cannot set a savepoint on a resource enlisted in a global transaction");
+
+ return getDelegate().setSavepoint(name);
+ }
+
+ public void releaseSavepoint(Savepoint savepoint) throws SQLException {
+ if (jdbcPooledConnection == null)
+ throw new SQLException("connection handle already closed");
+ if (jdbcPooledConnection.isParticipatingInActiveGlobalTransaction())
+ throw new SQLException("cannot release a savepoint on a resource enlisted in a global transaction");
+
+ getDelegate().releaseSavepoint(savepoint);
+ }
+
+ public boolean getAutoCommit() throws SQLException {
+ if (jdbcPooledConnection == null)
+ throw new SQLException("connection handle already closed");
+
+ if (jdbcPooledConnection.isParticipatingInActiveGlobalTransaction())
+ return false;
+
+ return getDelegate().getAutoCommit();
+ }
+
+ public void setAutoCommit(boolean autoCommit) throws SQLException {
+ if (jdbcPooledConnection == null)
+ throw new SQLException("connection handle already closed");
+
+ if (!jdbcPooledConnection.isParticipatingInActiveGlobalTransaction())
+ getDelegate().setAutoCommit(autoCommit);
+ else if (autoCommit)
+ throw new SQLException("autocommit is not allowed on a resource enlisted in a global transaction");
+ }
+
+ public boolean isClosed() throws SQLException {
+ if (jdbcPooledConnection == null)
+ return true;
+ return getDelegate().isClosed();
+ }
+
+ public Statement createStatement() throws SQLException {
+ enlistResource();
+
+ Statement statement = getDelegate().createStatement();
+ jdbcPooledConnection.registerUncachedStatement(statement);
+ JdbcStatementHandle statementHandle = new JdbcStatementHandle(statement, jdbcPooledConnection);
+ return (Statement) Proxy.newProxyInstance(ClassLoaderUtils.getClassLoader(), new Class[]{Statement.class}, statementHandle);
+ }
+
+ public Statement createStatement(int resultSetType, int resultSetConcurrency) throws SQLException {
+ enlistResource();
+
+ Statement statement = getDelegate().createStatement(resultSetType, resultSetConcurrency);
+ jdbcPooledConnection.registerUncachedStatement(statement);
+ JdbcStatementHandle statementHandle = new JdbcStatementHandle(statement, jdbcPooledConnection);
+ return (Statement) Proxy.newProxyInstance(ClassLoaderUtils.getClassLoader(), new Class[]{Statement.class}, statementHandle);
+ }
+
+ public Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
+ enlistResource();
+
+ Statement statement = getDelegate().createStatement(resultSetType, resultSetConcurrency, resultSetHoldability);
+ jdbcPooledConnection.registerUncachedStatement(statement);
+ JdbcStatementHandle statementHandle = new JdbcStatementHandle(statement, jdbcPooledConnection);
+ return (Statement) Proxy.newProxyInstance(ClassLoaderUtils.getClassLoader(), new Class[]{Statement.class}, statementHandle);
+ }
+
+ public CallableStatement prepareCall(String sql) throws SQLException {
+ enlistResource();
+
+ CallableStatement statement = getDelegate().prepareCall(sql);
+ jdbcPooledConnection.registerUncachedStatement(statement);
+ JdbcCallableStatementHandle statementHandle = new JdbcCallableStatementHandle(statement, jdbcPooledConnection);
+ return (CallableStatement) Proxy.newProxyInstance(ClassLoaderUtils.getClassLoader(), new Class[]{CallableStatement.class}, statementHandle);
+ }
+
+ public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
+ enlistResource();
+
+ CallableStatement statement = getDelegate().prepareCall(sql, resultSetType, resultSetConcurrency);
+ jdbcPooledConnection.registerUncachedStatement(statement);
+ JdbcCallableStatementHandle statementHandle = new JdbcCallableStatementHandle(statement, jdbcPooledConnection);
+ return (CallableStatement) Proxy.newProxyInstance(ClassLoaderUtils.getClassLoader(), new Class[]{CallableStatement.class}, statementHandle);
+ }
+
+ public CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
+ enlistResource();
+
+ CallableStatement statement = getDelegate().prepareCall(sql, resultSetType, resultSetConcurrency, resultSetHoldability);
+ jdbcPooledConnection.registerUncachedStatement(statement);
+ JdbcCallableStatementHandle statementHandle = new JdbcCallableStatementHandle(statement, jdbcPooledConnection);
+ return (CallableStatement) Proxy.newProxyInstance(ClassLoaderUtils.getClassLoader(), new Class[]{CallableStatement.class}, statementHandle);
+ }
+
+ /* PreparedStatement cache aware methods */
+
+ public PreparedStatement prepareStatement(String sql) throws SQLException {
+ enlistResource();
+
+ boolean useStatementCache = getPooledConnection().getPoolingDataSource().getPreparedStatementCacheSize() > 0;
+ if (useStatementCache) {
+ JdbcPreparedStatementHandle proposedStmt = new JdbcPreparedStatementHandle(sql);
+ JdbcPreparedStatementHandle cachedStmt = getPooledConnection().getCachedStatement(proposedStmt);
+ if (cachedStmt == null) {
+ PreparedStatement stmt = getDelegate().prepareStatement(sql);
+ proposedStmt.setDelegate(stmt);
+ cachedStmt = getPooledConnection().putCachedStatement(proposedStmt);
+ }
+ cachedStmt.setPooledConnection(getPooledConnection());
+ return (PreparedStatement) Proxy.newProxyInstance(ClassLoaderUtils.getClassLoader(), new Class[]{PreparedStatement.class}, cachedStmt);
+ }
+ else {
+ PreparedStatement stmt = getDelegate().prepareStatement(sql);
+ jdbcPooledConnection.registerUncachedStatement(stmt);
+ JdbcUncachedPreparedStatementHandle statementHandle = new JdbcUncachedPreparedStatementHandle(stmt, jdbcPooledConnection);
+ return (PreparedStatement) Proxy.newProxyInstance(ClassLoaderUtils.getClassLoader(), new Class[]{PreparedStatement.class}, statementHandle);
+ }
+ }
+
+ public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException {
+ enlistResource();
+
+ boolean useStatementCache = getPooledConnection().getPoolingDataSource().getPreparedStatementCacheSize() > 0;
+ if (useStatementCache) {
+ JdbcPreparedStatementHandle proposedStmt = new JdbcPreparedStatementHandle(sql, autoGeneratedKeys);
+ JdbcPreparedStatementHandle cachedStmt = getPooledConnection().getCachedStatement(proposedStmt);
+ if (cachedStmt == null) {
+ PreparedStatement stmt = getDelegate().prepareStatement(sql, autoGeneratedKeys);
+ proposedStmt.setDelegate(stmt);
+ cachedStmt = getPooledConnection().putCachedStatement(proposedStmt);
+ }
+ cachedStmt.setPooledConnection(getPooledConnection());
+ return (PreparedStatement) Proxy.newProxyInstance(ClassLoaderUtils.getClassLoader(), new Class[]{PreparedStatement.class}, cachedStmt);
+ }
+ else {
+ PreparedStatement stmt = getDelegate().prepareStatement(sql, autoGeneratedKeys);
+ jdbcPooledConnection.registerUncachedStatement(stmt);
+ JdbcUncachedPreparedStatementHandle statementHandle = new JdbcUncachedPreparedStatementHandle(stmt, jdbcPooledConnection);
+ return (PreparedStatement) Proxy.newProxyInstance(ClassLoaderUtils.getClassLoader(), new Class[]{PreparedStatement.class}, statementHandle);
+ }
+ }
+
+ public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException {
+ enlistResource();
+
+ boolean useStatementCache = getPooledConnection().getPoolingDataSource().getPreparedStatementCacheSize() > 0;
+ if (useStatementCache) {
+ JdbcPreparedStatementHandle proposedStmt = new JdbcPreparedStatementHandle(sql, resultSetType, resultSetConcurrency);
+ JdbcPreparedStatementHandle cachedStmt = getPooledConnection().getCachedStatement(proposedStmt);
+ if (cachedStmt == null) {
+ PreparedStatement stmt = getDelegate().prepareStatement(sql, resultSetType, resultSetConcurrency);
+ proposedStmt.setDelegate(stmt);
+ cachedStmt = getPooledConnection().putCachedStatement(proposedStmt);
+ }
+ cachedStmt.setPooledConnection(getPooledConnection());
+ return (PreparedStatement) Proxy.newProxyInstance(ClassLoaderUtils.getClassLoader(), new Class[]{PreparedStatement.class}, cachedStmt);
+ }
+ else {
+ PreparedStatement stmt = getDelegate().prepareStatement(sql, resultSetType, resultSetConcurrency);
+ jdbcPooledConnection.registerUncachedStatement(stmt);
+ JdbcUncachedPreparedStatementHandle statementHandle = new JdbcUncachedPreparedStatementHandle(stmt, jdbcPooledConnection);
+ return (PreparedStatement) Proxy.newProxyInstance(ClassLoaderUtils.getClassLoader(), new Class[]{PreparedStatement.class}, statementHandle);
+ }
+ }
+
+ public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws SQLException {
+ enlistResource();
+
+ boolean useStatementCache = getPooledConnection().getPoolingDataSource().getPreparedStatementCacheSize() > 0;
+ if (useStatementCache) {
+ JdbcPreparedStatementHandle proposedStmt = new JdbcPreparedStatementHandle(sql, resultSetType, resultSetConcurrency, resultSetHoldability);
+ JdbcPreparedStatementHandle cachedStmt = getPooledConnection().getCachedStatement(proposedStmt);
+ if (cachedStmt == null) {
+ PreparedStatement stmt = getDelegate().prepareStatement(sql, resultSetType, resultSetConcurrency, resultSetHoldability);
+ proposedStmt.setDelegate(stmt);
+ cachedStmt = getPooledConnection().putCachedStatement(proposedStmt);
+ }
+ cachedStmt.setPooledConnection(getPooledConnection());
+ return (PreparedStatement) Proxy.newProxyInstance(ClassLoaderUtils.getClassLoader(), new Class[]{PreparedStatement.class}, cachedStmt);
+ }
+ else {
+ PreparedStatement stmt = getDelegate().prepareStatement(sql, resultSetType, resultSetConcurrency, resultSetHoldability);
+ jdbcPooledConnection.registerUncachedStatement(stmt);
+ JdbcUncachedPreparedStatementHandle statementHandle = new JdbcUncachedPreparedStatementHandle(stmt, jdbcPooledConnection);
+ return (PreparedStatement) Proxy.newProxyInstance(ClassLoaderUtils.getClassLoader(), new Class[]{PreparedStatement.class}, statementHandle);
+ }
+ }
+
+ public PreparedStatement prepareStatement(String sql, int[] columnIndexes) throws SQLException {
+ enlistResource();
+
+ boolean useStatementCache = getPooledConnection().getPoolingDataSource().getPreparedStatementCacheSize() > 0;
+ if (useStatementCache) {
+ JdbcPreparedStatementHandle proposedStmt = new JdbcPreparedStatementHandle(sql, columnIndexes);
+ JdbcPreparedStatementHandle cachedStmt = getPooledConnection().getCachedStatement(proposedStmt);
+ if (cachedStmt == null) {
+ PreparedStatement stmt = getDelegate().prepareStatement(sql, columnIndexes);
+ proposedStmt.setDelegate(stmt);
+ cachedStmt = getPooledConnection().putCachedStatement(proposedStmt);
+ }
+ cachedStmt.setPooledConnection(getPooledConnection());
+ return (PreparedStatement) Proxy.newProxyInstance(ClassLoaderUtils.getClassLoader(), new Class[]{PreparedStatement.class}, cachedStmt);
+ }
+ else {
+ PreparedStatement stmt = getDelegate().prepareStatement(sql, columnIndexes);
+ jdbcPooledConnection.registerUncachedStatement(stmt);
+ JdbcUncachedPreparedStatementHandle statementHandle = new JdbcUncachedPreparedStatementHandle(stmt, jdbcPooledConnection);
+ return (PreparedStatement) Proxy.newProxyInstance(ClassLoaderUtils.getClassLoader(), new Class[]{PreparedStatement.class}, statementHandle);
+ }
+ }
+
+ public PreparedStatement prepareStatement(String sql, String[] columnNames) throws SQLException {
+ enlistResource();
+
+ boolean useStatementCache = getPooledConnection().getPoolingDataSource().getPreparedStatementCacheSize() > 0;
+ if (useStatementCache) {
+ JdbcPreparedStatementHandle proposedStmt = new JdbcPreparedStatementHandle(sql, columnNames);
+ JdbcPreparedStatementHandle cachedStmt = getPooledConnection().getCachedStatement(proposedStmt);
+ if (cachedStmt == null) {
+ PreparedStatement stmt = getDelegate().prepareStatement(sql, columnNames);
+ proposedStmt.setDelegate(stmt);
+ cachedStmt = getPooledConnection().putCachedStatement(proposedStmt);
+ }
+ cachedStmt.setPooledConnection(getPooledConnection());
+ return (PreparedStatement) Proxy.newProxyInstance(ClassLoaderUtils.getClassLoader(), new Class[]{PreparedStatement.class}, cachedStmt);
+ }
+ else {
+ PreparedStatement stmt = getDelegate().prepareStatement(sql, columnNames);
+ jdbcPooledConnection.registerUncachedStatement(stmt);
+ JdbcUncachedPreparedStatementHandle statementHandle = new JdbcUncachedPreparedStatementHandle(stmt, jdbcPooledConnection);
+ return (PreparedStatement) Proxy.newProxyInstance(ClassLoaderUtils.getClassLoader(), new Class[]{PreparedStatement.class}, statementHandle);
+ }
+ }
+
+ /* java.sql.Wrapper implementation */
+
+ public boolean isWrapperFor(Class iface) throws SQLException {
+ if (Connection.class.equals(iface)) {
+ return true;
+ }
+ return false;
+ }
+
+ public Object unwrap(Class iface) throws SQLException {
+ if (Connection.class.equals(iface)) {
+ return delegate;
+ }
+ throw new SQLException(getClass().getName() + " is not a wrapper for interface " + iface.getName());
+ }
+
+ /* BaseProxyHandler implementation */
+
+ public Object getProxiedDelegate() throws Exception {
+ return delegate;
+ }
+
+}
diff --git a/src/bitronix/tm/resource/jdbc/JdbcPooledConnection.java b/src/bitronix/tm/resource/jdbc/JdbcPooledConnection.java
new file mode 100644
index 0000000..8fcdbcc
--- /dev/null
+++ b/src/bitronix/tm/resource/jdbc/JdbcPooledConnection.java
@@ -0,0 +1,438 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.jdbc;
+
+import bitronix.tm.internal.BitronixRollbackSystemException;
+import bitronix.tm.internal.BitronixSystemException;
+import bitronix.tm.resource.common.*;
+import bitronix.tm.resource.jdbc.lrc.LrcXADataSource;
+import bitronix.tm.utils.Decoder;
+import bitronix.tm.utils.ManagementRegistrar;
+import bitronix.tm.utils.Scheduler;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.sql.XAConnection;
+import javax.transaction.SystemException;
+import javax.transaction.xa.XAResource;
+import java.lang.reflect.Method;
+import java.sql.*;
+import java.util.*;
+import java.util.Date;
+
+/**
+ * Implementation of a JDBC pooled connection wrapping vendor's {@link XAConnection} implementation.
+ *
+ * @author lorban, brettw
+ */
+public class JdbcPooledConnection extends AbstractXAResourceHolder implements StateChangeListener, JdbcPooledConnectionMBean {
+
+ private final static Logger log = LoggerFactory.getLogger(JdbcPooledConnection.class);
+
+ private final static int DETECTION_TIMEOUT = 5; // seconds
+
+ private XAConnection xaConnection;
+ private Connection connection;
+ private XAResource xaResource;
+ private PoolingDataSource poolingDataSource;
+ private LruStatementCache statementsCache;
+ private List uncachedStatements;
+ private int usageCount;
+
+ /* management */
+ private String jmxName;
+ private Date acquisitionDate;
+ private Date lastReleaseDate;
+
+ private int jdbcVersionDetected;
+ private Method isValidMethod;
+
+
+ public JdbcPooledConnection(PoolingDataSource poolingDataSource, XAConnection xaConnection) throws SQLException {
+ this.poolingDataSource = poolingDataSource;
+ this.xaConnection = xaConnection;
+ this.xaResource = xaConnection.getXAResource();
+ this.statementsCache = new LruStatementCache(poolingDataSource.getPreparedStatementCacheSize());
+ this.uncachedStatements = Collections.synchronizedList(new ArrayList());
+ this.lastReleaseDate = new Date();
+ statementsCache.addEvictionListener(new LruEvictionListener() {
+ public void onEviction(Object value) {
+ PreparedStatement stmt = (PreparedStatement) value;
+ try {
+ stmt.close();
+ } catch (SQLException ex) {
+ log.warn("error closing evicted statement", ex);
+ }
+ }
+ });
+
+ connection = xaConnection.getConnection();
+ detectJdbcVersion(connection);
+ addStateChangeEventListener(this);
+
+ if (poolingDataSource.getClassName().equals(LrcXADataSource.class.getName())) {
+ if (log.isDebugEnabled()) log.debug("emulating XA for resource " + poolingDataSource.getUniqueName() + " - changing twoPcOrderingPosition to ALWAYS_LAST_POSITION");
+ poolingDataSource.setTwoPcOrderingPosition(Scheduler.ALWAYS_LAST_POSITION);
+ if (log.isDebugEnabled()) log.debug("emulating XA for resource " + poolingDataSource.getUniqueName() + " - changing deferConnectionRelease to true");
+ poolingDataSource.setDeferConnectionRelease(true);
+ if (log.isDebugEnabled()) log.debug("emulating XA for resource " + poolingDataSource.getUniqueName() + " - changing useTmJoin to true");
+ poolingDataSource.setUseTmJoin(true);
+ }
+
+ this.jmxName = "bitronix.tm:type=JDBC,UniqueName=" + ManagementRegistrar.makeValidName(poolingDataSource.getUniqueName()) + ",Id=" + poolingDataSource.incCreatedResourcesCounter();
+ ManagementRegistrar.register(jmxName, this);
+
+ poolingDataSource.fireOnAcquire(connection);
+ }
+
+ private synchronized void detectJdbcVersion(Connection connection) {
+ if (jdbcVersionDetected > 0)
+ return;
+
+ try {
+ isValidMethod = connection.getClass().getMethod("isValid", new Class[]{Integer.TYPE});
+ isValidMethod.invoke(connection, new Object[] {new Integer(DETECTION_TIMEOUT)}); // test invoke
+ jdbcVersionDetected = 4;
+ if (!poolingDataSource.isEnableJdbc4ConnectionTest()) {
+ if (log.isDebugEnabled()) log.debug("dataSource is JDBC4 or newer and supports isValid(), but enableJdbc4ConnectionTest is not set or is false");
+ }
+ } catch (Exception ex) {
+ jdbcVersionDetected = 3;
+ } catch (AbstractMethodError er) {
+ // this happens if the driver implements JDBC 3 but runs on JDK 1.6+ (which embeds the JDBC 4 interfaces)
+ jdbcVersionDetected = 3;
+ }
+ if (log.isDebugEnabled()) log.debug("detected JDBC connection class '" + connection.getClass() + "' is version " + jdbcVersionDetected + " type");
+ }
+
+ private void applyIsolationLevel() throws SQLException {
+ String isolationLevel = getPoolingDataSource().getIsolationLevel();
+ if (isolationLevel != null) {
+ int level = translateIsolationLevel(isolationLevel);
+ if (level < 0) {
+ log.warn("invalid transaction isolation level '" + isolationLevel + "' configured, keeping the default isolation level.");
+ }
+ else {
+ if (log.isDebugEnabled()) log.debug("setting connection's isolation level to " + isolationLevel);
+ connection.setTransactionIsolation(level);
+ }
+ }
+ }
+
+ private static int translateIsolationLevel(String isolationLevelGuarantee) {
+ if ("READ_COMMITTED".equals(isolationLevelGuarantee)) return Connection.TRANSACTION_READ_COMMITTED;
+ if ("READ_UNCOMMITTED".equals(isolationLevelGuarantee)) return Connection.TRANSACTION_READ_UNCOMMITTED;
+ if ("REPEATABLE_READ".equals(isolationLevelGuarantee)) return Connection.TRANSACTION_REPEATABLE_READ;
+ if ("SERIALIZABLE".equals(isolationLevelGuarantee)) return Connection.TRANSACTION_SERIALIZABLE;
+ return -1;
+ }
+
+ public void close() throws SQLException {
+ // this should never happen, should we throw an exception or log at warn/error?
+ if (usageCount > 0) {
+ if (log.isDebugEnabled()) log.debug("close connection with usage count > 0, " + this);
+ }
+
+ setState(STATE_CLOSED);
+
+ // cleanup of pooled resources
+ statementsCache.clear();
+
+ ManagementRegistrar.unregister(jmxName);
+
+ connection.close();
+ xaConnection.close();
+
+ poolingDataSource.fireOnDestroy(connection);
+ }
+
+ public RecoveryXAResourceHolder createRecoveryXAResourceHolder() {
+ return new RecoveryXAResourceHolder(this);
+ }
+
+ private void testConnection(Connection connection) throws SQLException {
+ if (poolingDataSource.isEnableJdbc4ConnectionTest() && jdbcVersionDetected >= 4) {
+ Boolean isValid = null;
+ try {
+ if (log.isDebugEnabled()) log.debug("testing with JDBC4 isValid() method, connection of " + this);
+ isValid = (Boolean) isValidMethod.invoke(connection, new Object[]{new Integer(poolingDataSource.getAcquisitionTimeout())});
+ } catch (Exception e) {
+ log.warn("dysfunctional JDBC4 Connection.isValid() method, or negative acquisition timeout, in call to test connection of " + this + ". Falling back to test query.");
+ jdbcVersionDetected = 3;
+ }
+ // if isValid is null, and exception was caught above and we fall through to the query test
+ if (isValid != null) {
+ if (isValid.booleanValue()) {
+ if (log.isDebugEnabled()) log.debug("isValid successfully tested connection of " + this);
+ return;
+ }
+ throw new SQLException("connection is no longer valid");
+ }
+ }
+
+ String query = poolingDataSource.getTestQuery();
+ if (query == null) {
+ if (log.isDebugEnabled()) log.debug("no query to test connection of " + this + ", skipping test");
+ return;
+ }
+
+ // Throws a SQLException if the connection is dead
+ if (log.isDebugEnabled()) log.debug("testing with query '" + query + "' connection of " + this);
+ PreparedStatement stmt = connection.prepareStatement(query);
+ ResultSet rs = stmt.executeQuery();
+ rs.close();
+ stmt.close();
+ if (log.isDebugEnabled()) log.debug("testQuery successfully tested connection of " + this);
+ }
+
+ protected void release() throws SQLException {
+ if (log.isDebugEnabled()) log.debug("releasing to pool " + this);
+ --usageCount;
+
+ // delisting
+ try {
+ TransactionContextHelper.delistFromCurrentTransaction(this);
+ }
+ catch (BitronixRollbackSystemException ex) {
+ throw (SQLException) new SQLException("unilateral rollback of " + this).initCause(ex);
+ }
+ catch (SystemException ex) {
+ throw (SQLException) new SQLException("error delisting " + this).initCause(ex);
+ }
+ finally {
+ // Only requeue a connection if it is no longer in use. In the case of non-shared connections,
+ // usageCount will always be 0 here, so the default behavior is unchanged.
+ if (usageCount == 0) {
+ try {
+ TransactionContextHelper.requeue(this, poolingDataSource);
+ } catch (BitronixSystemException ex) {
+ // Requeue failed, restore the usageCount to previous value (see testcase
+ // NewJdbcStrangeUsageMockTest.testClosingSuspendedConnectionsInDifferentContext).
+ // This can happen when a close is attempted while the connection is participating
+ // in a global transaction.
+ usageCount++;
+
+ // this may hide the exception thrown by delistFromCurrentTransaction() but
+ // an error requeuing must absolutely be reported as an exception.
+ // Too bad if this happens... See DualSessionWrapper.close() as well.
+ throw (SQLException) new SQLException("error requeuing " + this).initCause(ex);
+ }
+
+ if (log.isDebugEnabled()) log.debug("released to pool " + this);
+ }
+ else {
+ if (log.isDebugEnabled()) log.debug("not releasing " + this + " to pool yet, connection is still shared");
+ }
+ } // finally
+ }
+
+ public XAResource getXAResource() {
+ return xaResource;
+ }
+
+ public ResourceBean getResourceBean() {
+ return getPoolingDataSource();
+ }
+
+ public PoolingDataSource getPoolingDataSource() {
+ return poolingDataSource;
+ }
+
+ public List getXAResourceHolders() {
+ List xaResourceHolders = new ArrayList();
+ xaResourceHolders.add(this);
+ return xaResourceHolders;
+ }
+
+ public Object getConnectionHandle() throws Exception {
+ if (log.isDebugEnabled()) log.debug("getting connection handle from " + this);
+ int oldState = getState();
+
+ // Increment the usage count
+ usageCount++;
+
+ // Only transition to STATE_ACCESSIBLE on the first usage. If we're not sharing
+ // connections (default behavior) usageCount is always 1 here, so this transition
+ // will always occur (current behavior unchanged). If we _are_ sharing connections,
+ // and this is _not_ the first usage, it is valid for the state to already be
+ // STATE_ACCESSIBLE. Calling setState() with STATE_ACCESSIBLE when the state is
+ // already STATE_ACCESSIBLE fails the sanity check in AbstractXAStatefulHolder.
+ // Even if the connection is shared (usageCount > 1), if the state was STATE_NOT_ACCESSIBLE
+ // we transition back to STATE_ACCESSIBLE.
+ if (usageCount == 1 || oldState == STATE_NOT_ACCESSIBLE) {
+ setState(STATE_ACCESSIBLE);
+ }
+
+ if (oldState == STATE_IN_POOL) {
+ if (log.isDebugEnabled()) log.debug("connection " + xaConnection + " was in state IN_POOL, testing it");
+ testConnection(connection);
+ applyIsolationLevel();
+ applyCursorHoldabilty();
+ if (TransactionContextHelper.currentTransaction() == null) {
+ // it is safe to set the auto-commit flag outside of a global transaction
+ applyLocalAutoCommit();
+ }
+ }
+ else {
+ if (log.isDebugEnabled()) log.debug("connection " + xaConnection + " was in state " + Decoder.decodeXAStatefulHolderState(oldState) + ", no need to test it");
+ }
+
+ if (log.isDebugEnabled()) log.debug("got connection handle from " + this);
+ return new JdbcConnectionHandle(this, connection);
+ }
+
+ public void stateChanged(XAStatefulHolder source, int oldState, int newState) {
+ if (newState == STATE_IN_POOL) {
+ if (log.isDebugEnabled()) log.debug("requeued JDBC connection of " + poolingDataSource);
+ lastReleaseDate = new Date();
+ }
+ if (oldState == STATE_IN_POOL && newState == STATE_ACCESSIBLE) {
+ acquisitionDate = new Date();
+ }
+ if (oldState == STATE_NOT_ACCESSIBLE && newState == STATE_ACCESSIBLE) {
+ TransactionContextHelper.recycle(this);
+ }
+ }
+
+ public void stateChanging(XAStatefulHolder source, int currentState, int futureState) {
+ if (futureState == STATE_IN_POOL) {
+ if (usageCount > 0) {
+ log.warn("usage count too high (" + usageCount + ") on connection returned to pool " + source);
+ }
+ }
+
+ if (futureState == STATE_IN_POOL || futureState == STATE_NOT_ACCESSIBLE) {
+ // close all uncached statements
+ if (log.isDebugEnabled()) log.debug("closing " + uncachedStatements.size() + " dangling uncached statement(s)");
+ for (int i = 0; i < uncachedStatements.size(); i++) {
+ Statement statement = (Statement) uncachedStatements.get(i);
+ try {
+ statement.close();
+ } catch (SQLException ex) {
+ if (log.isDebugEnabled()) log.debug("error trying to close uncached statement " + statement, ex);
+ }
+ }
+ uncachedStatements.clear();
+
+ // clear SQL warnings
+ try {
+ if (log.isDebugEnabled()) log.debug("clearing warnings of " + connection);
+ connection.clearWarnings();
+ } catch (SQLException ex) {
+ if (log.isDebugEnabled()) log.debug("error cleaning warnings of " + connection, ex);
+ }
+ }
+ }
+
+ /**
+ * Get a PreparedStatement from cache.
+ * @param stmt the key that has been used to cache the statement.
+ * @return the cached statement corresponding to the key or null if no statement is cached under that key.
+ */
+ protected JdbcPreparedStatementHandle getCachedStatement(JdbcPreparedStatementHandle stmt) {
+ return statementsCache.get(stmt);
+ }
+
+ /**
+ * Put a PreparedStatement in the cache.
+ * @param stmt the statement to cache.
+ * @return the cached statement.
+ */
+ protected JdbcPreparedStatementHandle putCachedStatement(JdbcPreparedStatementHandle stmt) {
+ return statementsCache.put(stmt);
+ }
+
+ /**
+ * Register uncached statement so that it can be closed when the connection is put back in the pool.
+ *
+ * @param stmt the statement to register.
+ * @return the registered statement.
+ */
+ protected Statement registerUncachedStatement(Statement stmt) {
+ uncachedStatements.add(stmt);
+ return stmt;
+ }
+
+ protected void unregisterUncachedStatement(Statement stmt) {
+ uncachedStatements.remove(stmt);
+ }
+
+ public String toString() {
+ return "a JdbcPooledConnection from datasource " + poolingDataSource.getUniqueName() + " in state " + Decoder.decodeXAStatefulHolderState(getState()) + " with usage count " + usageCount + " wrapping " + xaConnection;
+ }
+
+ private void applyCursorHoldabilty() throws SQLException {
+ String cursorHoldability = getPoolingDataSource().getCursorHoldability();
+ if (cursorHoldability != null) {
+ int holdability = translateCursorHoldability(cursorHoldability);
+ if (holdability < 0) {
+ log.warn("invalid cursor holdability '" + cursorHoldability + "' configured, keeping the default cursor holdability.");
+ }
+ else {
+ if (log.isDebugEnabled()) log.debug("setting connection's cursor holdability to " + cursorHoldability);
+ connection.setHoldability(holdability);
+ }
+ }
+ }
+
+ private static int translateCursorHoldability(String cursorHoldability) {
+ if ("CLOSE_CURSORS_AT_COMMIT".equals(cursorHoldability)) return ResultSet.CLOSE_CURSORS_AT_COMMIT;
+ if ("HOLD_CURSORS_OVER_COMMIT".equals(cursorHoldability)) return ResultSet.HOLD_CURSORS_OVER_COMMIT;
+ return -1;
+ }
+
+
+ private void applyLocalAutoCommit() throws SQLException {
+ String localAutoCommit = getPoolingDataSource().getLocalAutoCommit();
+ if (localAutoCommit != null) {
+ if (localAutoCommit.equalsIgnoreCase("true")) {
+ if (log.isDebugEnabled()) log.debug("setting connection's auto commit to true");
+ connection.setAutoCommit(true);
+ }
+ else if (localAutoCommit.equalsIgnoreCase("false")) {
+ if (log.isDebugEnabled()) log.debug("setting connection's auto commit to false");
+ connection.setAutoCommit(false);
+ }
+ else {
+ log.warn("invalid auto commit '" + localAutoCommit + "' configured, keeping default auto commit");
+ }
+ }
+ }
+
+ /* management */
+
+ public String getStateDescription() {
+ return Decoder.decodeXAStatefulHolderState(getState());
+ }
+
+ public Date getAcquisitionDate() {
+ return acquisitionDate;
+ }
+
+ public Date getLastReleaseDate() {
+ return lastReleaseDate;
+ }
+
+ public Collection getTransactionGtridsCurrentlyHoldingThis() {
+ return getXAResourceHolderStateGtrids();
+ }
+
+}
diff --git a/src/bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.java b/src/bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.java
new file mode 100644
index 0000000..7f5353a
--- /dev/null
+++ b/src/bitronix/tm/resource/jdbc/JdbcPooledConnectionMBean.java
@@ -0,0 +1,37 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.jdbc;
+
+import java.util.Collection;
+import java.util.Date;
+
+/**
+ * {@link JdbcPooledConnection} Management interface.
+ *
+ * @author lorban
+ */
+public interface JdbcPooledConnectionMBean {
+
+ String getStateDescription();
+ Date getAcquisitionDate();
+ Collection getTransactionGtridsCurrentlyHoldingThis();
+
+}
diff --git a/src/bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.java b/src/bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.java
new file mode 100644
index 0000000..b9d68f6
--- /dev/null
+++ b/src/bitronix/tm/resource/jdbc/JdbcPreparedStatementHandle.java
@@ -0,0 +1,206 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.jdbc;
+
+import java.sql.*;
+import java.util.Arrays;
+
+/**
+ * Caching {@link PreparedStatement} wrapper.
+ * <p/>
+ * This class is a proxy handler for a PreparedStatement. It does not
+ * implement the PreparedStatement interface or extend a class directly,
+ * but you methods implemented here will override those of the
+ * underlying delegate. Simply implement a method with the same
+ * signature, and the local method will be called rather than the delegate.
+ * <p/>
+ *
+ * @author lorban, brettw
+ */
+public class JdbcPreparedStatementHandle extends BaseProxyHandlerClass { // implements PreparedStatement
+
+ private PreparedStatement delegate;
+ private boolean pretendClosed = false;
+
+ // The 'parent' connection. Used to return the connection to the pool upon
+ // close().
+ private JdbcPooledConnection parentConnection;
+
+ // Brett Wooldridge: the following must be taken into account when caching a
+ // prepared statement. Defaults are per JDBC-specification.
+ //
+ // All of these attributes must match a proposed statement before the
+ // statement can be considered "the same" and delivered from the cache.
+ private String sql;
+ private int resultSetType = ResultSet.TYPE_FORWARD_ONLY;
+ private int resultSetConcurrency = ResultSet.CONCUR_READ_ONLY;
+ private Integer resultSetHoldability;
+ private Integer autoGeneratedKeys;
+ private int[] columnIndexes;
+ private String[] columnNames;
+
+ /*
+ * PreparedStatement Constructors
+ */
+
+ public JdbcPreparedStatementHandle(String sql) {
+ this.sql = sql;
+ }
+
+ public JdbcPreparedStatementHandle(String sql, int autoGeneratedKeys) {
+ this.sql = sql;
+ this.autoGeneratedKeys = new Integer(autoGeneratedKeys);
+ }
+
+ public JdbcPreparedStatementHandle(String sql, int resultSetType, int resultSetConcurrency) {
+ this.sql = sql;
+ this.resultSetType = resultSetType;
+ this.resultSetConcurrency = resultSetConcurrency;
+ }
+
+ public JdbcPreparedStatementHandle(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) {
+ this.sql = sql;
+ this.resultSetType = resultSetType;
+ this.resultSetConcurrency = resultSetConcurrency;
+ this.resultSetHoldability = new Integer(resultSetHoldability);
+ }
+
+ public JdbcPreparedStatementHandle(String sql, int[] columnIndexes) {
+ this.sql = sql;
+ this.columnIndexes = new int[columnIndexes.length];
+ System.arraycopy(columnIndexes, 0, this.columnIndexes, 0, columnIndexes.length);
+ }
+
+ public JdbcPreparedStatementHandle(String sql, String[] columnNames) {
+ this.sql = sql;
+ this.columnNames = new String[columnNames.length];
+ System.arraycopy(columnNames, 0, this.columnNames, 0, columnNames.length);
+ }
+
+ /* java.sql.Wrapper implementation */
+
+ public boolean isWrapperFor(Class iface) throws SQLException {
+ if (PreparedStatement.class.equals(iface)) {
+ return true;
+ }
+ return false;
+ }
+
+ public Object unwrap(Class iface) throws SQLException {
+ if (PreparedStatement.class.equals(iface)) {
+ return delegate;
+ }
+ throw new SQLException(getClass().getName() + " is not a wrapper for interface " + iface.getName());
+ }
+
+ /* Internal methods */
+
+ /**
+ * Set the parent connection that created this statement. We need this to
+ * return the PreparedStatement to the pool.
+ *
+ * @param pooledConnection the parent JdbcPooledConnection
+ */
+ protected void setPooledConnection(JdbcPooledConnection pooledConnection) {
+ this.parentConnection = pooledConnection;
+ }
+
+ protected JdbcPooledConnection getPooledConnection() {
+ return parentConnection;
+ }
+
+ private PreparedStatement getDelegate() throws SQLException {
+ if (pretendClosed)
+ throw new SQLException("prepared statement closed");
+ return delegate;
+ }
+
+ protected PreparedStatement getDelegateUnchecked() {
+ return delegate;
+ }
+
+ protected void setDelegate(PreparedStatement delegate) {
+ this.delegate = delegate;
+ }
+
+ public Object getProxiedDelegate() throws Exception {
+ return getDelegate();
+ }
+
+ /* Overridden java.lang.Object methods */
+
+ /**
+ * Overridden equals() that takes all PreparedStatement attributes into
+ * account.
+ */
+ public boolean equals(Object obj) {
+ if (!(obj instanceof JdbcPreparedStatementHandle)) {
+ return false;
+ }
+
+ JdbcPreparedStatementHandle otherStmt = (JdbcPreparedStatementHandle) obj;
+ if (!sql.equals(otherStmt.sql)) {
+ return false;
+ } else if (resultSetType != otherStmt.resultSetType) {
+ return false;
+ } else if (resultSetConcurrency != otherStmt.resultSetConcurrency) {
+ return false;
+ } else if (!Arrays.equals(columnIndexes, otherStmt.columnIndexes)) {
+ return false;
+ } else if (!Arrays.equals(columnNames, otherStmt.columnNames)) {
+ return false;
+ } else if ((autoGeneratedKeys == null && otherStmt.autoGeneratedKeys != null) ||
+ (autoGeneratedKeys != null && !autoGeneratedKeys.equals(otherStmt.autoGeneratedKeys))) {
+ return false;
+ } else if ((resultSetHoldability == null && otherStmt.resultSetHoldability != null) ||
+ (resultSetHoldability != null && !resultSetHoldability.equals(otherStmt.resultSetHoldability))) {
+ return false;
+ }
+
+ return true;
+ }
+
+ public int hashCode() {
+ return sql != null ? sql.hashCode() : System.identityHashCode(this);
+ }
+
+ public String toString() {
+ return "a JdbcPreparedStatementHandle with sql=[" + sql + "]";
+ }
+
+ /* Overridden methods of java.sql.PreparedStatement */
+
+ public void close() throws SQLException {
+ if (!pretendClosed) {
+ // Clear the parameters so the next use of this cached statement
+ // doesn't pick up unexpected values.
+ delegate.clearParameters();
+ // Return to cache so the usage count can be updated
+ parentConnection.putCachedStatement(this);
+ }
+
+ pretendClosed = true;
+ }
+
+ public boolean isClosed() throws SQLException {
+ return pretendClosed;
+ }
+}
diff --git a/src/bitronix/tm/resource/jdbc/JdbcStatementHandle.java b/src/bitronix/tm/resource/jdbc/JdbcStatementHandle.java
new file mode 100644
index 0000000..9881226
--- /dev/null
+++ b/src/bitronix/tm/resource/jdbc/JdbcStatementHandle.java
@@ -0,0 +1,79 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.jdbc;
+
+import javax.sql.XADataSource;
+import java.sql.*;
+
+/**
+ * Statement {@link Statement} wrapper.
+ * <p/>
+ * This class is a proxy handler for a Statement. It does not
+ * implement the Statement interface or extend a class directly,
+ * but you methods implemented here will override those of the
+ * underlying delegate. Simply implement a method with the same
+ * signature, and the local method will be called rather than the delegate.
+ * <p/>
+ *
+ * @author brettw
+ */
+public class JdbcStatementHandle extends BaseProxyHandlerClass { // implements Statement
+
+ // The 'parent' connection. Used to remove this statement delegate
+ // from the un-closed statements list when close() is called.
+ private JdbcPooledConnection parentConnection;
+
+ private Statement delegate;
+
+ public JdbcStatementHandle(Statement delegate, JdbcPooledConnection pooledConnection) {
+ this.delegate = delegate;
+ this.parentConnection = pooledConnection;
+ }
+
+ /* java.sql.Wrapper implementation */
+
+ public boolean isWrapperFor(Class iface) throws SQLException {
+ if (Statement.class.equals(iface)) {
+ return true;
+ }
+ return false;
+ }
+
+ public Object unwrap(Class iface) throws SQLException {
+ if (Statement.class.equals(iface)) {
+ return delegate;
+ }
+ throw new SQLException(getClass().getName() + " is not a wrapper for interface " + iface.getName());
+ }
+
+ /* Internal methods */
+
+ public Object getProxiedDelegate() throws Exception {
+ return delegate;
+ }
+
+ /* Overridden methods of java.sql.PreparedStatement */
+
+ public void close() throws SQLException {
+ parentConnection.unregisterUncachedStatement(delegate);
+ delegate.close();
+ }
+}
diff --git a/src/bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.java b/src/bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.java
new file mode 100644
index 0000000..b4a50dc
--- /dev/null
+++ b/src/bitronix/tm/resource/jdbc/JdbcUncachedPreparedStatementHandle.java
@@ -0,0 +1,64 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.jdbc;
+
+import java.sql.*;
+
+public class JdbcUncachedPreparedStatementHandle extends BaseProxyHandlerClass {
+
+ // The 'parent' connection. Used to remove this statement delegate
+ // from the un-closed statements list when close() is called.
+ private JdbcPooledConnection parentConnection;
+
+ private PreparedStatement delegate;
+
+ public JdbcUncachedPreparedStatementHandle(PreparedStatement delegate, JdbcPooledConnection pooledConnection) {
+ this.delegate = delegate;
+ this.parentConnection = pooledConnection;
+ }
+
+ public Object getProxiedDelegate() throws Exception {
+ return delegate;
+ }
+
+ /* java.sql.Wrapper implementation */
+
+ public boolean isWrapperFor(Class iface) throws SQLException {
+ if (PreparedStatement.class.equals(iface)) {
+ return true;
+ }
+ return false;
+ }
+
+ public Object unwrap(Class iface) throws SQLException {
+ if (PreparedStatement.class.equals(iface)) {
+ return delegate;
+ }
+ throw new SQLException(getClass().getName() + " is not a wrapper for interface " + iface.getName());
+ }
+
+ /* Overridden methods of java.sql.PreparedStatement */
+
+ public void close() throws SQLException {
+ parentConnection.unregisterUncachedStatement(delegate);
+ delegate.close();
+ }
+}
diff --git a/src/bitronix/tm/resource/jdbc/LruEvictionListener.java b/src/bitronix/tm/resource/jdbc/LruEvictionListener.java
new file mode 100644
index 0000000..f2068b5
--- /dev/null
+++ b/src/bitronix/tm/resource/jdbc/LruEvictionListener.java
@@ -0,0 +1,32 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.jdbc;
+
+/**
+ * Eviction listener interface for {@link LruStatementCache}.
+ *
+ * @author lorban
+ */
+public interface LruEvictionListener {
+
+ public void onEviction(Object value);
+
+}
diff --git a/src/bitronix/tm/resource/jdbc/LruStatementCache.java b/src/bitronix/tm/resource/jdbc/LruStatementCache.java
new file mode 100644
index 0000000..eecfb6e
--- /dev/null
+++ b/src/bitronix/tm/resource/jdbc/LruStatementCache.java
@@ -0,0 +1,229 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.jdbc;
+
+import java.sql.PreparedStatement;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Last Recently Used PreparedStatement cache with eviction listeners
+ * support implementation.
+ *
+ *
+ * @author lorban, brettw
+ */
+public class LruStatementCache {
+
+ private final static Logger log = LoggerFactory.getLogger(LruStatementCache.class);
+
+ /**
+ * The <i>target</i> maxSize of the cache. The cache may drift slightly
+ * higher in size in the case that every statement in the cache is
+ * in use and therefore nothing can be evicted. But eventually
+ * (probably quickly) the cache will return to maxSize.
+ */
+ private int maxSize;
+
+ /**
+ * We use a LinkedHashMap with _access order_ specified in the
+ * constructor. According to the LinkedHashMap documentation:
+ * <pre>
+ * A special constructor is provided to create a linked hash map
+ * whose order of iteration is the order in which its entries
+ * were last accessed, from least-recently accessed to most-recently
+ * (access-order). This kind of map is well-suited to building LRU
+ * caches. Invoking the put or get method results in an access to
+ * the corresponding entry (assuming it exists after the invocation
+ * completes).
+ * </pre>
+ */
+ private LinkedHashMap cache;
+
+ /**
+ * A list of listeners concerned with prepared statement cache
+ * evictions.
+ */
+ private List evictionListners;
+
+ /**
+ * See the LinkedHashMap documentation. We maintain our own size
+ * here, rather than calling size(), because size() on a LinkedHashMap
+ * is proportional in time (O(n)) with the size of the collection -- i.e.
+ * calling size() must traverse the entire list and count the elements.
+ * Tracking size ourselves provides O(1) access.
+ */
+ private int size;
+
+ public LruStatementCache(int maxSize) {
+ this.maxSize = maxSize;
+ cache = new LinkedHashMap(maxSize, 0.75f, true /* access order */);
+ evictionListners = new ArrayList();
+ }
+
+ /**
+ * The provided key is just a 'shell' JdbcPreparedStatementHandle, it comes
+ * in with no actual 'delegate' PreparedStatement. However, it contains all
+ * other pertinent information such as SQL statement, autogeneratedkeys
+ * flag, cursor holdability, etc. See the equals() method in the
+ * JdbcPreparedStatementHandle class. It is a complete key for a cached
+ * statement.
+ *
+ * If there is a matching cached PreparedStatement, it will be set as the
+ * delegate in the provided JdbcPreparedStatementHandle.
+ *
+ * @param key the cache key
+ * @return the cached JdbcPreparedStatementHandle statement, or null
+ */
+ public JdbcPreparedStatementHandle get(JdbcPreparedStatementHandle key) {
+ synchronized (cache)
+ {
+ // See LinkedHashMap documentation. Getting an entry means it is
+ // updated as the 'youngest' (Most Recently Used) entry.
+ StatementTracker cached = (StatementTracker) cache.get(key);
+ if (cached != null) {
+ cached.usageCount++;
+ key.setDelegate(cached.statement);
+ if (log.isDebugEnabled()) log.debug("delivered from cache with usage count " + cached.usageCount + " statement <" + key + "> in " + key.getPooledConnection());
+ return key;
+ }
+
+ return null;
+ }
+ }
+
+ /**
+ * A statement is put into the cache. This is called when a
+ * statement is first prepared and also when a statement is
+ * closed (by the client). A "closed" statement has it's
+ * usage counter decremented in the cache.
+ *
+ * @param key a prepared statement handle
+ * @return a prepared statement
+ */
+ public JdbcPreparedStatementHandle put(JdbcPreparedStatementHandle key) {
+ synchronized (cache)
+ {
+ if (maxSize < 1) {
+ return null;
+ }
+
+ // See LinkedHashMap documentation. Getting an entry means it is
+ // updated as the 'youngest' (Most Recently Used) entry.
+ StatementTracker cached = (StatementTracker) cache.get(key);
+ if (cached == null) {
+ if (log.isDebugEnabled()) log.debug("adding to cache statement <" + key + "> in " + key.getPooledConnection());
+ cache.put(key, new StatementTracker(key.getDelegateUnchecked()));
+ size++;
+ } else {
+ cached.usageCount--;
+ if (log.isDebugEnabled()) log.debug("returning to cache statement <" + key + "> with usage count " + cached.usageCount + " in " + key.getPooledConnection());
+ }
+
+ // If the size is exceeded, we will _try_ to evict one (or more)
+ // statements until the max level is again reached. However, if
+ // every statement in the cache is 'in use', the size of the cache
+ // is not reduced. Eventually the cache will be reduced, no worries.
+ if (size > maxSize) {
+ tryEviction();
+ }
+
+ return key;
+ }
+ }
+
+ /**
+ * Evict all statements from the cache. This likely happens on
+ * connection close.
+ */
+ protected void clear() {
+ synchronized (cache)
+ {
+ Iterator it = cache.entrySet().iterator();
+ while (it.hasNext()) {
+ Map.Entry entry = (Entry) it.next();
+ StatementTracker tracker = (StatementTracker) entry.getValue();
+ it.remove();
+ fireEvictionEvent(tracker.statement);
+ }
+ cache.clear();
+ size = 0;
+ }
+ }
+
+ /**
+ * Try to evict statements from the cache. Only statements with a
+ * current usage count of zero will be evicted. Statements are
+ * evicted until the cache is reduced to maxSize.
+ */
+ private void tryEviction() {
+ // Iteration order of the LinkedHashMap is from LRU to MRU
+ Iterator it = cache.entrySet().iterator();
+ while (it.hasNext()) {
+ Map.Entry entry = (Entry) it.next();
+ StatementTracker tracker = (StatementTracker) entry.getValue();
+ if (tracker.usageCount == 0) {
+ it.remove();
+ size--;
+ JdbcPreparedStatementHandle key = (JdbcPreparedStatementHandle) entry.getKey();
+ if (log.isDebugEnabled()) log.debug("evicting from cache statement <" + key + "> " + key.getDelegateUnchecked() + " in " + key.getPooledConnection());
+ fireEvictionEvent(tracker.statement);
+ // We can stop evicting if we're at maxSize...
+ if (size <= maxSize) {
+ break;
+ }
+ }
+ }
+ }
+
+ private void fireEvictionEvent(Object value) {
+ for (int i = 0; i < evictionListners.size(); i++) {
+ LruEvictionListener listener = (LruEvictionListener) evictionListners.get(i);
+ listener.onEviction(value);
+ }
+ }
+
+ public void addEvictionListener(LruEvictionListener listener) {
+ evictionListners.add(listener);
+ }
+
+ public void removeEvictionListener(LruEvictionListener listener) {
+ evictionListners.remove(listener);
+ }
+
+ private final static class StatementTracker
+ {
+ private PreparedStatement statement;
+ private int usageCount;
+
+ private StatementTracker(PreparedStatement stmt) {
+ this.statement = stmt;
+ this.usageCount = 1;
+ }
+ }
+}
diff --git a/src/bitronix/tm/resource/jdbc/PoolingDataSource.java b/src/bitronix/tm/resource/jdbc/PoolingDataSource.java
new file mode 100644
index 0000000..8a3d36d
--- /dev/null
+++ b/src/bitronix/tm/resource/jdbc/PoolingDataSource.java
@@ -0,0 +1,400 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.jdbc;
+
+import java.io.PrintWriter;
+import java.lang.reflect.*;
+import java.sql.*;
+import java.util.Iterator;
+import java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
+
+import javax.naming.*;
+import javax.sql.*;
+import javax.transaction.xa.XAResource;
+
+import bitronix.tm.utils.ClassLoaderUtils;
+import bitronix.tm.utils.ManagementRegistrar;
+import org.slf4j.*;
+
+import bitronix.tm.internal.XAResourceHolderState;
+import bitronix.tm.recovery.RecoveryException;
+import bitronix.tm.resource.*;
+import bitronix.tm.resource.common.*;
+
+/**
+ * Implementation of a JDBC {@link DataSource} wrapping vendor's {@link XADataSource} implementation.
+ *
+ * @author lorban, brettw
+ */
+public class PoolingDataSource extends ResourceBean implements DataSource, XAResourceProducer, PoolingDataSourceMBean {
+
+ private final static Logger log = LoggerFactory.getLogger(PoolingDataSource.class);
+
+ private transient XAPool pool;
+ private transient XADataSource xaDataSource;
+ private transient RecoveryXAResourceHolder recoveryXAResourceHolder;
+ private transient JdbcConnectionHandle recoveryConnectionHandle;
+ private String testQuery;
+ private boolean enableJdbc4ConnectionTest;
+ private int preparedStatementCacheSize = 0;
+ private String isolationLevel;
+ private String cursorHoldability;
+ private String localAutoCommit;
+ private String jmxName;
+ private final List connectionCustomizers = new CopyOnWriteArrayList();
+
+ public PoolingDataSource() {
+ }
+
+ /**
+ * Initializes the pool by creating the initial amount of connections.
+ */
+ public synchronized void init() {
+ try {
+ if (this.pool != null)
+ return;
+
+ buildXAPool();
+ this.jmxName = "bitronix.tm:type=JDBC,UniqueName=" + ManagementRegistrar.makeValidName(getUniqueName());
+ ManagementRegistrar.register(jmxName, this);
+ } catch (Exception ex) {
+ throw new ResourceConfigurationException("cannot create JDBC datasource named " + getUniqueName(), ex);
+ }
+ }
+
+ private void buildXAPool() throws Exception {
+ if (pool != null)
+ return;
+
+ if (log.isDebugEnabled()) log.debug("building XA pool for " + getUniqueName() + " with " + getMinPoolSize() + " connection(s)");
+ pool = new XAPool(this, this);
+ xaDataSource = (XADataSource) pool.getXAFactory();
+ try {
+ ResourceRegistrar.register(this);
+ } catch (RecoveryException ex) {
+ pool = null;
+ xaDataSource = null;
+ throw ex;
+ }
+ }
+
+ /**
+ * @return the query that will be used to test connections.
+ */
+ public String getTestQuery() {
+ return testQuery;
+ }
+
+ /**
+ * When set, the specified query will be executed on the connection acquired from the pool before being handed to
+ * the caller. The connections won't be tested when not set. Default value is null.
+ * @param testQuery the query that will be used to test connections.
+ */
+ public void setTestQuery(String testQuery) {
+ this.testQuery = testQuery;
+ }
+
+ /**
+ * When set and the underlying JDBC driver supports JDBC 4 isValid(), a Connection.isValid() call
+ * is performed to test the connection before handing it to the caller.
+ * If both testQuery and enableJdbc4ConnectionTest are set, enableJdbc4ConnectionTest takes precedence.
+ * @param enableJdbc4ConnectionTest true if JDBC 4 isValid() testing should be performed, false otherwise.
+ */
+ public void setEnableJdbc4ConnectionTest(boolean enableJdbc4ConnectionTest) {
+ this.enableJdbc4ConnectionTest = enableJdbc4ConnectionTest;
+ }
+
+ /**
+ * @return true if JDBC 4 isValid() testing should be performed, false otherwise.
+ */
+ public boolean isEnableJdbc4ConnectionTest() {
+ return enableJdbc4ConnectionTest;
+ }
+
+ /**
+ * @return the target maximum prepared statement cache size.
+ */
+ public int getPreparedStatementCacheSize() {
+ return preparedStatementCacheSize;
+ }
+
+ /**
+ * Set the target maximum size of the prepared statement cache. In
+ * reality under certain unusual conditions the cache may temporarily
+ * drift higher in size.
+ * @param preparedStatementCacheSize the target maximum prepared statement cache size.
+ */
+ public void setPreparedStatementCacheSize(int preparedStatementCacheSize) {
+ this.preparedStatementCacheSize = preparedStatementCacheSize;
+ }
+
+ /**
+ * @return the default isolation level.
+ */
+ public String getIsolationLevel() {
+ return isolationLevel;
+ }
+
+ /**
+ * Set the default isolation level for connections.
+ * @param isolationLevel the default isolation level.
+ */
+ public void setIsolationLevel(String isolationLevel) {
+ this.isolationLevel = isolationLevel;
+ }
+
+ /**
+ * @return cursorHoldability the default cursor holdability.
+ */
+ public String getCursorHoldability() {
+ return cursorHoldability;
+ }
+
+ /**
+ * Set the default cursor holdability for connections.
+ * @param cursorHoldability the default cursor holdability.
+ */
+ public void setCursorHoldability(String cursorHoldability) {
+ this.cursorHoldability = cursorHoldability;
+ }
+
+ /**
+ * @return localAutoCommit the default local transactions autocommit mode.
+ */
+ public String getLocalAutoCommit() {
+ return localAutoCommit;
+ }
+
+ /**
+ * Set the default local transactions autocommit mode.
+ * @param localAutoCommit the default local transactions autocommit mode.
+ */
+ public void setLocalAutoCommit(String localAutoCommit) {
+ this.localAutoCommit = localAutoCommit;
+ }
+
+ public void addConnectionCustomizer(ConnectionCustomizer connectionCustomizer) {
+ connectionCustomizers.add(connectionCustomizer);
+ }
+
+ public void removeConnectionCustomizer(ConnectionCustomizer connectionCustomizer) {
+ Iterator it = connectionCustomizers.iterator();
+ while (it.hasNext()) {
+ ConnectionCustomizer customizer = (ConnectionCustomizer)it.next();
+ if (customizer == connectionCustomizer) {
+ it.remove();
+ return;
+ }
+ }
+ }
+
+ void fireOnAcquire(Connection connection) {
+ for (int i = 0; i < connectionCustomizers.size(); i++) {
+ ConnectionCustomizer connectionCustomizer = (ConnectionCustomizer)connectionCustomizers.get(i);
+ try {
+ connectionCustomizer.onAcquire(connection, getUniqueName());
+ } catch (Exception ex) {
+ log.warn("ConnectionCustomizer.onAcquire() failed for " + connectionCustomizer, ex);
+ }
+ }
+ }
+
+ void fireOnDestroy(Connection connection) {
+ for (int i = 0; i < connectionCustomizers.size(); i++) {
+ ConnectionCustomizer connectionCustomizer = (ConnectionCustomizer)connectionCustomizers.get(i);
+ try {
+ connectionCustomizer.onDestroy(connection, getUniqueName());
+ } catch (Exception ex) {
+ log.warn("ConnectionCustomizer.onDestroy() failed for " + connectionCustomizer, ex);
+ }
+ }
+ }
+
+
+ /* Implementation of DataSource interface */
+
+ public Connection getConnection() throws SQLException {
+ if (isDisabled()) {
+ throw new SQLException("JDBC connection pool '" + getUniqueName() + "' is disabled, cannot get a connection from it");
+ }
+
+ init();
+ if (log.isDebugEnabled()) log.debug("acquiring connection from " + this);
+ if (pool == null) {
+ if (log.isDebugEnabled()) log.debug("pool is closed, returning null connection");
+ return null;
+ }
+
+ try {
+ InvocationHandler connectionHandle = (InvocationHandler) pool.getConnectionHandle();
+ if (log.isDebugEnabled()) log.debug("acquired connection from " + this);
+ return (Connection) Proxy.newProxyInstance(ClassLoaderUtils.getClassLoader(), new Class[] { Connection.class }, connectionHandle);
+ } catch (Exception ex) {
+ throw (SQLException) new SQLException("unable to get a connection from pool of " + this).initCause(ex);
+ }
+ }
+
+ public Connection getConnection(String username, String password) throws SQLException {
+ if (log.isDebugEnabled()) log.debug("JDBC connections are pooled, username and password ignored");
+ return getConnection();
+ }
+
+ public String toString() {
+ return "a PoolingDataSource containing " + pool;
+ }
+
+
+ /* XAResourceProducer implementation */
+
+ public XAResourceHolderState startRecovery() throws RecoveryException {
+ init();
+ if (recoveryConnectionHandle != null)
+ throw new RecoveryException("recovery already in progress on " + this);
+
+ try {
+ recoveryConnectionHandle = (JdbcConnectionHandle) pool.getConnectionHandle(false);
+ recoveryXAResourceHolder = recoveryConnectionHandle.getPooledConnection().createRecoveryXAResourceHolder();
+ return new XAResourceHolderState(recoveryConnectionHandle.getPooledConnection(), this);
+ } catch (Exception ex) {
+ throw new RecoveryException("cannot start recovery on " + this, ex);
+ }
+ }
+
+ public void endRecovery() throws RecoveryException {
+ if (recoveryConnectionHandle == null)
+ return;
+
+ try {
+ if (log.isDebugEnabled()) log.debug("recovery xa resource is being closed: " + recoveryXAResourceHolder);
+ recoveryConnectionHandle.close();
+ } catch (Exception ex) {
+ throw new RecoveryException("error ending recovery on " + this, ex);
+ }
+ finally {
+ recoveryConnectionHandle = null;
+
+ // the recoveryXAResourceHolder actually wraps the recoveryConnectionHandle so closing it
+ // would close the recoveryConnectionHandle twice which must not happen
+ recoveryXAResourceHolder = null;
+ }
+ }
+
+ public void setFailed(boolean failed) {
+ pool.setFailed(failed);
+ }
+
+ public boolean isFailed() {
+ return pool.isFailed();
+ }
+
+ public void close() {
+ if (pool == null) {
+ if (log.isDebugEnabled()) log.debug("trying to close already closed PoolingDataSource " + getUniqueName());
+ return;
+ }
+
+ if (log.isDebugEnabled()) log.debug("closing " + this);
+ pool.close();
+ pool = null;
+
+ connectionCustomizers.clear();
+
+ ManagementRegistrar.unregister(jmxName);
+ jmxName = null;
+
+ ResourceRegistrar.unregister(this);
+ }
+
+ public XAStatefulHolder createPooledConnection(Object xaFactory, ResourceBean bean) throws Exception {
+ if (!(xaFactory instanceof XADataSource))
+ throw new IllegalArgumentException("class '" + xaFactory.getClass().getName() + "' does not implement " + XADataSource.class.getName());
+ XADataSource xads = (XADataSource) xaFactory;
+ return new JdbcPooledConnection(this, xads.getXAConnection());
+ }
+
+ public XAResourceHolder findXAResourceHolder(XAResource xaResource) {
+ return pool.findXAResourceHolder(xaResource);
+ }
+
+
+ /**
+ * {@link PoolingDataSource} must alway have a unique name so this method builds a reference to this object using
+ * the unique name as {@link javax.naming.RefAddr}.
+ * @return a reference to this {@link PoolingDataSource}.
+ */
+ public Reference getReference() throws NamingException {
+ if (log.isDebugEnabled()) log.debug("creating new JNDI reference of " + this);
+ return new Reference(
+ PoolingDataSource.class.getName(),
+ new StringRefAddr("uniqueName", getUniqueName()),
+ ResourceObjectFactory.class.getName(),
+ null);
+ }
+
+ /* DataSource implementation */
+
+ public int getLoginTimeout() throws SQLException {
+ return xaDataSource.getLoginTimeout();
+ }
+
+ public void setLoginTimeout(int seconds) throws SQLException {
+ xaDataSource.setLoginTimeout(seconds);
+ }
+
+ public PrintWriter getLogWriter() throws SQLException {
+ return xaDataSource.getLogWriter();
+ }
+
+ public void setLogWriter(PrintWriter out) throws SQLException {
+ xaDataSource.setLogWriter(out);
+ }
+
+ /* java.sql.Wrapper implementation */
+
+ public boolean isWrapperFor(Class iface) throws SQLException {
+ if (XADataSource.class.equals(iface)) {
+ return true;
+ }
+ return false;
+ }
+
+ public Object unwrap(Class iface) throws SQLException {
+ if (XADataSource.class.equals(iface)) {
+ return xaDataSource;
+ }
+ throw new SQLException(getClass().getName() + " is not a wrapper for interface " + iface.getName());
+ }
+
+ /* management */
+
+ public long getInPoolSize() {
+ return pool.inPoolSize();
+ }
+
+ public long getTotalPoolSize() {
+ return pool.totalPoolSize();
+ }
+
+ public void reset() throws Exception {
+ pool.reset();
+ }
+}
diff --git a/src/bitronix/tm/resource/jdbc/PoolingDataSourceMBean.java b/src/bitronix/tm/resource/jdbc/PoolingDataSourceMBean.java
new file mode 100644
index 0000000..a89a601
--- /dev/null
+++ b/src/bitronix/tm/resource/jdbc/PoolingDataSourceMBean.java
@@ -0,0 +1,38 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.jdbc;
+
+/**
+ *
+ * @author lorban
+ */
+public interface PoolingDataSourceMBean {
+
+ public int getMinPoolSize();
+ public int getMaxPoolSize();
+ public long getInPoolSize();
+ public long getTotalPoolSize();
+ public boolean isFailed();
+ public void reset() throws Exception;
+ public boolean isDisabled();
+ public void setDisabled(boolean disabled);
+
+}
diff --git a/src/bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.java b/src/bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.java
new file mode 100644
index 0000000..aad63f7
--- /dev/null
+++ b/src/bitronix/tm/resource/jdbc/lrc/LrcConnectionHandle.java
@@ -0,0 +1,93 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.jdbc.lrc;
+
+import java.sql.*;
+
+import bitronix.tm.resource.jdbc.BaseProxyHandlerClass;
+
+/**
+ * Connection handle implementation for a non-XA JDBC resource emulating XA with Last Resource Commit.
+ *
+ * @author lorban, brettw
+ */
+public class LrcConnectionHandle extends BaseProxyHandlerClass { // implements Connection
+
+ private Connection delegate;
+ private LrcXAResource xaResource;
+
+ public LrcConnectionHandle(LrcXAResource xaResource, Connection delegate) {
+ this.delegate = delegate;
+ this.xaResource = xaResource;
+ }
+
+ public Connection getConnection() {
+ return delegate;
+ }
+
+ private Connection getDelegate() throws SQLException {
+ if (delegate == null)
+ throw new SQLException("connection is closed");
+ return delegate;
+ }
+
+ /* wrapped Connection methods that have special XA semantics */
+
+ public void close() throws SQLException {
+ delegate = null;
+ }
+
+ public boolean isClosed() throws SQLException {
+ return delegate == null;
+ }
+
+ public void setAutoCommit(boolean autoCommit) throws SQLException {
+ if (xaResource.getState() != LrcXAResource.NO_TX && autoCommit)
+ throw new SQLException("XA transaction started, cannot enable autocommit mode");
+ getDelegate().setAutoCommit(autoCommit);
+ }
+
+ public void commit() throws SQLException {
+ if (xaResource.getState() != LrcXAResource.NO_TX)
+ throw new SQLException("XA transaction started, cannot call commit directly on connection");
+ getDelegate().commit();
+ }
+
+ public void rollback() throws SQLException {
+ if (xaResource.getState() != LrcXAResource.NO_TX)
+ throw new SQLException("XA transaction started, cannot call rollback directly on connection");
+ getDelegate().rollback();
+ }
+
+ public void rollback(Savepoint savepoint) throws SQLException {
+ if (xaResource.getState() != LrcXAResource.NO_TX)
+ throw new SQLException("XA transaction started, cannot call rollback directly on connection");
+ getDelegate().rollback(savepoint);
+ }
+
+ public String toString() {
+ return "a JDBC LrcConnectionHandle on " + xaResource;
+ }
+
+ public Object getProxiedDelegate() throws Exception {
+ return getDelegate();
+ }
+}
diff --git a/src/bitronix/tm/resource/jdbc/lrc/LrcXAConnection.java b/src/bitronix/tm/resource/jdbc/lrc/LrcXAConnection.java
new file mode 100644
index 0000000..cc62112
--- /dev/null
+++ b/src/bitronix/tm/resource/jdbc/lrc/LrcXAConnection.java
@@ -0,0 +1,103 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.jdbc.lrc;
+
+import java.lang.reflect.*;
+import java.sql.*;
+import java.util.*;
+
+import javax.sql.*;
+import javax.transaction.xa.XAResource;
+
+import bitronix.tm.utils.ClassLoaderUtils;
+import org.slf4j.*;
+
+import bitronix.tm.resource.jdbc.BaseProxyHandlerClass;
+
+/**
+ * XAConnection implementation for a non-XA JDBC resource emulating XA with Last Resource Commit.
+ *
+ * @author lorban, brettw
+ */
+public class LrcXAConnection extends BaseProxyHandlerClass { // implements XAConnection
+
+ private final static Logger log = LoggerFactory.getLogger(LrcXAConnection.class);
+
+ private Connection connection;
+ private LrcXAResource xaResource;
+ private List connectionEventListeners = new ArrayList();
+
+ public LrcXAConnection(Connection connection) {
+ this.connection = connection;
+ this.xaResource = new LrcXAResource(connection);
+ }
+
+ public XAResource getXAResource() throws SQLException {
+ return xaResource;
+ }
+
+ public void close() throws SQLException {
+ connection.close();
+ fireCloseEvent();
+ }
+
+ public Connection getConnection() throws SQLException {
+ LrcConnectionHandle lrcConnectionHandle = new LrcConnectionHandle(xaResource, connection);
+ return (Connection) Proxy.newProxyInstance(ClassLoaderUtils.getClassLoader(), new Class[] { Connection.class }, lrcConnectionHandle);
+ }
+
+ public void addConnectionEventListener(ConnectionEventListener listener) {
+ connectionEventListeners.add(listener);
+ }
+
+ public void removeConnectionEventListener(ConnectionEventListener listener) {
+ connectionEventListeners.remove(listener);
+ }
+
+ private void fireCloseEvent() {
+ if (log.isDebugEnabled()) log.debug("notifying " + connectionEventListeners.size() + " connectionEventListeners(s) about closing of " + this);
+ for (int i = 0; i < connectionEventListeners.size(); i++) {
+ ConnectionEventListener connectionEventListener = (ConnectionEventListener) connectionEventListeners.get(i);
+ XAConnection conn = (XAConnection) Proxy.newProxyInstance(ClassLoaderUtils.getClassLoader(), new Class[] { XAConnection.class }, this);
+ connectionEventListener.connectionClosed(new ConnectionEvent(conn));
+ }
+ }
+
+ public boolean equals(Object obj) {
+ if (!(obj instanceof LrcXAConnection))
+ return false;
+
+ LrcXAConnection other = (LrcXAConnection) obj;
+ return this.connection.equals(other.connection);
+ }
+
+ public int hashCode() {
+ return this.connection.hashCode();
+ }
+
+ public String toString() {
+ return "a JDBC LrcXAConnection on " + connection;
+ }
+
+ public Object getProxiedDelegate() throws Exception {
+ return connection;
+ }
+}
diff --git a/src/bitronix/tm/resource/jdbc/lrc/LrcXADataSource.java b/src/bitronix/tm/resource/jdbc/lrc/LrcXADataSource.java
new file mode 100644
index 0000000..a789cae
--- /dev/null
+++ b/src/bitronix/tm/resource/jdbc/lrc/LrcXADataSource.java
@@ -0,0 +1,128 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.jdbc.lrc;
+
+import java.io.PrintWriter;
+import java.lang.reflect.Proxy;
+import java.sql.*;
+import java.util.Properties;
+
+import javax.sql.*;
+
+import bitronix.tm.utils.ClassLoaderUtils;
+
+/**
+ * XADataSource implementation for a non-XA JDBC resource emulating XA with Last Resource Commit.
+ *
+ * @author lorban, brettw
+ */
+public class LrcXADataSource implements XADataSource {
+
+ private int loginTimeout;
+ private String driverClassName;
+ private String url;
+ private String user;
+ private String password;
+
+ public LrcXADataSource() {
+ }
+
+ public int getLoginTimeout() throws SQLException {
+ return loginTimeout;
+ }
+
+ public void setLoginTimeout(int seconds) throws SQLException {
+ this.loginTimeout = seconds;
+ }
+
+ public String getDriverClassName() {
+ return driverClassName;
+ }
+
+ public void setDriverClassName(String driverClassName) {
+ this.driverClassName = driverClassName;
+ }
+
+ public String getUrl() {
+ return url;
+ }
+
+ public void setUrl(String url) {
+ this.url = url;
+ }
+
+ public String getUser() {
+ return user;
+ }
+
+ public void setUser(String user) {
+ this.user = user;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+ public PrintWriter getLogWriter() throws SQLException {
+ return null;
+ }
+
+ public void setLogWriter(PrintWriter out) throws SQLException {
+ }
+
+ public XAConnection getXAConnection() throws SQLException {
+ try {
+ Class driverClazz = ClassLoaderUtils.loadClass(driverClassName);
+ Driver driver = (Driver) driverClazz.newInstance();
+ Properties props = new Properties();
+ if (user != null) props.setProperty("user", user);
+ if (password != null) props.setProperty("password", password);
+ Connection connection = driver.connect(url, props);
+ LrcXAConnection lrcXAConnection = new LrcXAConnection(connection);
+ return (XAConnection) Proxy.newProxyInstance(ClassLoaderUtils.getClassLoader(), new Class[] { XAConnection.class }, lrcXAConnection);
+ } catch (Exception ex) {
+ throw (SQLException) new SQLException("unable to connect to non-XA resource " + driverClassName).initCause(ex);
+ }
+ }
+
+ public XAConnection getXAConnection(String user, String password) throws SQLException {
+ try {
+ Class driverClazz = ClassLoaderUtils.loadClass(driverClassName);
+ Driver driver = (Driver) driverClazz.newInstance();
+ Properties props = new Properties();
+ props.setProperty("user", user);
+ props.setProperty("password", password);
+ Connection connection = driver.connect(url, props);
+ LrcXAConnection lrcXAConnection = new LrcXAConnection(connection);
+ return (XAConnection) Proxy.newProxyInstance(ClassLoaderUtils.getClassLoader(), new Class[] { XAConnection.class }, lrcXAConnection);
+ } catch (Exception ex) {
+ throw (SQLException) new SQLException("unable to connect to non-XA resource " + driverClassName).initCause(ex);
+ }
+ }
+
+ public String toString() {
+ return "a JDBC LrcXADataSource on " + driverClassName + " with URL " + url;
+ }
+}
diff --git a/src/bitronix/tm/resource/jdbc/lrc/LrcXAResource.java b/src/bitronix/tm/resource/jdbc/lrc/LrcXAResource.java
new file mode 100644
index 0000000..b75797e
--- /dev/null
+++ b/src/bitronix/tm/resource/jdbc/lrc/LrcXAResource.java
@@ -0,0 +1,322 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.jdbc.lrc;
+
+import bitronix.tm.internal.BitronixXAException;
+import bitronix.tm.utils.Decoder;
+
+import javax.transaction.xa.XAResource;
+import javax.transaction.xa.XAException;
+import javax.transaction.xa.Xid;
+import java.sql.Connection;
+import java.sql.SQLException;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * XAResource implementation for a non-XA JDBC connection emulating XA with Last Resource Commit.
+ * <p>The XA protocol flow is implemented by this state machine:</p>
+ * <pre>
+ * NO_TX
+ * |
+ * | start(TMNOFLAGS)
+ * |
+ * | end(TMFAIL)
+ * STARTED -------------- NO_TX
+ * |
+ * | end(TMSUCCESS)
+ * |
+ * | start(TMJOIN)
+ * ENDED ---------------- STARTED
+ * |\
+ * | \ commit (one phase)
+ * | ----------------- NO_TX
+ * |
+ * | prepare()
+ * |
+ * | commit() or
+ * | rollback()
+ * PREPARED ------------- NO_TX
+ * </pre>
+ * {@link XAResource#TMSUSPEND} and {@link XAResource#TMRESUME} are not supported.
+ *
+ * @author lorban
+ */
+public class LrcXAResource implements XAResource {
+
+ private final static Logger log = LoggerFactory.getLogger(LrcXAResource.class);
+
+ public static final int NO_TX = 0;
+ public static final int STARTED = 1;
+ public static final int ENDED = 2;
+ public static final int PREPARED = 3;
+
+ private Connection connection;
+ private Xid xid;
+ private boolean autocommitActiveBeforeStart;
+ private int state = NO_TX;
+
+ public LrcXAResource(Connection connection) {
+ this.connection = connection;
+ }
+
+
+ public int getState() {
+ return state;
+ }
+
+ private String xlatedState() {
+ switch (state) {
+ case NO_TX: return "NO_TX";
+ case STARTED: return "STARTED";
+ case ENDED: return "ENDED";
+ case PREPARED: return "PREPARED";
+ default: return "!invalid state (" + state + ")!";
+ }
+ }
+
+ public int getTransactionTimeout() throws XAException {
+ return 0;
+ }
+
+ public boolean setTransactionTimeout(int seconds) throws XAException {
+ return false;
+ }
+
+ public void forget(Xid xid) throws XAException {
+ }
+
+ public Xid[] recover(int flags) throws XAException {
+ return new Xid[0];
+ }
+
+ public boolean isSameRM(XAResource xaResource) throws XAException {
+ return xaResource == this;
+ }
+
+ public void start(Xid xid, int flag) throws XAException {
+ if (flag != XAResource.TMNOFLAGS && flag != XAResource.TMJOIN)
+ throw new BitronixXAException("unsupported start flag " + Decoder.decodeXAResourceFlag(flag), XAException.XAER_RMERR);
+ if (xid == null)
+ throw new BitronixXAException("XID cannot be null", XAException.XAER_INVAL);
+
+ if (state == NO_TX) {
+ if (this.xid != null)
+ throw new BitronixXAException("resource already started on XID " + this.xid, XAException.XAER_PROTO);
+ else {
+ if (flag == XAResource.TMJOIN)
+ throw new BitronixXAException("resource not yet started", XAException.XAER_PROTO);
+ else {
+ if (log.isDebugEnabled()) log.debug("OK to start, old state=" + xlatedState() + ", XID=" + xid + ", flag=" + Decoder.decodeXAResourceFlag(flag));
+ this.xid = xid;
+ }
+ }
+ }
+ else if (state == STARTED) {
+ throw new BitronixXAException("resource already started on XID " + this.xid, XAException.XAER_PROTO);
+ }
+ else if (state == ENDED) {
+ if (flag == XAResource.TMNOFLAGS)
+ throw new BitronixXAException("resource already registered XID " + this.xid, XAException.XAER_DUPID);
+ else {
+ if (xid.equals(this.xid)) {
+ if (log.isDebugEnabled()) log.debug("OK to join, old state=" + xlatedState() + ", XID=" + xid + ", flag=" + Decoder.decodeXAResourceFlag(flag));
+ }
+ else
+ throw new BitronixXAException("resource already started on XID " + this.xid + " - cannot start it on more than one XID at a time", XAException.XAER_RMERR);
+ }
+ }
+ else if (state == PREPARED) {
+ throw new BitronixXAException("resource already prepared on XID " + this.xid, XAException.XAER_PROTO);
+ }
+
+ try {
+ autocommitActiveBeforeStart = connection.getAutoCommit();
+ if (autocommitActiveBeforeStart) {
+ if (log.isDebugEnabled()) log.debug("disabling autocommit mode on non-XA connection");
+ connection.setAutoCommit(false);
+ }
+ this.state = STARTED;
+ } catch (SQLException ex) {
+ throw new BitronixXAException("cannot disable autocommit on non-XA connection", XAException.XAER_RMERR);
+ }
+ }
+
+ public void end(Xid xid, int flag) throws XAException {
+ if (flag != XAResource.TMSUCCESS && flag != XAResource.TMFAIL)
+ throw new BitronixXAException("unsupported end flag " + Decoder.decodeXAResourceFlag(flag), XAException.XAER_RMERR);
+ if (xid == null)
+ throw new BitronixXAException("XID cannot be null", XAException.XAER_INVAL);
+
+ if (state == NO_TX) {
+ throw new BitronixXAException("resource never started on XID " + xid, XAException.XAER_PROTO);
+ }
+ else if (state == STARTED) {
+ if (this.xid.equals(xid)) {
+ if (log.isDebugEnabled()) log.debug("OK to end, old state=" + xlatedState() + ", XID=" + xid + ", flag=" + Decoder.decodeXAResourceFlag(flag));
+ }
+ else
+ throw new BitronixXAException("resource already started on XID " + this.xid + " - cannot end it on another XID " + xid, XAException.XAER_PROTO);
+ }
+ else if (state == ENDED) {
+ throw new BitronixXAException("resource already ended on XID " + xid, XAException.XAER_PROTO);
+ }
+ else if (state == PREPARED) {
+ throw new BitronixXAException("cannot end, resource already prepared on XID " + xid, XAException.XAER_PROTO);
+ }
+
+ if (flag == XAResource.TMFAIL) {
+ try {
+ connection.rollback();
+ state = NO_TX;
+ this.xid = null;
+ return;
+ } catch (SQLException ex) {
+ throw new BitronixXAException("error rolling back resource on end", XAException.XAER_RMERR, ex);
+ }
+ }
+
+ this.state = ENDED;
+ }
+
+ public int prepare(Xid xid) throws XAException {
+ if (xid == null)
+ throw new BitronixXAException("XID cannot be null", XAException.XAER_INVAL);
+
+ if (state == NO_TX) {
+ throw new BitronixXAException("resource never started on XID " + xid, XAException.XAER_PROTO);
+ }
+ else if (state == STARTED) {
+ throw new BitronixXAException("resource never ended on XID " + xid, XAException.XAER_PROTO);
+ }
+ else if (state == ENDED) {
+ if (this.xid.equals(xid)) {
+ if (log.isDebugEnabled()) log.debug("OK to prepare, old state=" + xlatedState() + ", XID=" + xid);
+ }
+ else
+ throw new BitronixXAException("resource already started on XID " + this.xid + " - cannot prepare it on another XID " + xid, XAException.XAER_PROTO);
+ }
+ else if (state == PREPARED) {
+ throw new BitronixXAException("resource already prepared on XID " + this.xid, XAException.XAER_PROTO);
+ }
+
+ try {
+ connection.commit();
+ this.state = PREPARED;
+ return XAResource.XA_OK;
+ } catch (SQLException ex) {
+ throw new BitronixXAException("error preparing non-XA resource", XAException.XAER_RMERR, ex);
+ }
+ }
+
+ public void commit(Xid xid, boolean onePhase) throws XAException {
+ if (xid == null)
+ throw new BitronixXAException("XID cannot be null", XAException.XAER_INVAL);
+
+ if (state == NO_TX) {
+ throw new BitronixXAException("resource never started on XID " + xid, XAException.XAER_PROTO);
+ }
+ else if (state == STARTED) {
+ throw new BitronixXAException("resource never ended on XID " + xid, XAException.XAER_PROTO);
+ }
+ else if (state == ENDED) {
+ if (onePhase) {
+ if (log.isDebugEnabled()) log.debug("OK to commit with 1PC, old state=" + xlatedState() + ", XID=" + xid);
+ try {
+ connection.commit();
+ } catch (SQLException ex) {
+ throw new BitronixXAException("error committing (one phase) non-XA resource", XAException.XAER_RMERR, ex);
+ }
+ }
+ else
+ throw new BitronixXAException("resource never prepared on XID " + xid, XAException.XAER_PROTO);
+ }
+ else if (state == PREPARED) {
+ if (!onePhase) {
+ if (this.xid.equals(xid)) {
+ if (log.isDebugEnabled()) log.debug("OK to commit, old state=" + xlatedState() + ", XID=" + xid);
+ }
+ else
+ throw new BitronixXAException("resource already started on XID " + this.xid + " - cannot commit it on another XID " + xid, XAException.XAER_PROTO);
+ }
+ else
+ throw new BitronixXAException("cannot commit in one phase as resource has been prepared on XID " + xid, XAException.XAER_PROTO);
+ }
+
+ this.state = NO_TX;
+ this.xid = null;
+
+ try {
+ if (autocommitActiveBeforeStart) {
+ if (log.isDebugEnabled()) log.debug("enabling back autocommit mode on non-XA connection");
+ connection.setAutoCommit(true);
+ }
+ } catch (SQLException ex) {
+ throw new BitronixXAException("cannot reset autocommit on non-XA connection", XAException.XAER_RMERR);
+ }
+ }
+
+ public void rollback(Xid xid) throws XAException {
+ if (xid == null)
+ throw new BitronixXAException("XID cannot be null", XAException.XAER_INVAL);
+
+ if (state == NO_TX) {
+ throw new BitronixXAException("resource never started on XID " + xid, XAException.XAER_PROTO);
+ }
+ else if (state == STARTED) {
+ throw new BitronixXAException("resource never ended on XID " + xid, XAException.XAER_PROTO);
+ }
+ else if (state == ENDED) {
+ if (this.xid.equals(xid)) {
+ if (log.isDebugEnabled()) log.debug("OK to rollback, old state=" + xlatedState() + ", XID=" + xid);
+ }
+ else
+ throw new BitronixXAException("resource already started on XID " + this.xid + " - cannot roll it back on another XID " + xid, XAException.XAER_PROTO);
+ }
+ else if (state == PREPARED) {
+ this.state = NO_TX;
+ throw new BitronixXAException("resource committed during prepare on XID " + this.xid, XAException.XA_HEURCOM);
+ }
+
+ try {
+ connection.rollback();
+ } catch (SQLException ex) {
+ throw new BitronixXAException("error preparing non-XA resource", XAException.XAER_RMERR, ex);
+ } finally {
+ this.state = NO_TX;
+ this.xid = null;
+ }
+
+ try {
+ if (autocommitActiveBeforeStart) {
+ if (log.isDebugEnabled()) log.debug("enabling back autocommit mode on non-XA connection");
+ connection.setAutoCommit(true);
+ }
+ } catch (SQLException ex) {
+ throw new BitronixXAException("cannot reset autocommit on non-XA connection", XAException.XAER_RMERR);
+ }
+ }
+
+ public String toString() {
+ return "a JDBC LrcXAResource in state " + xlatedState();
+ }
+}
diff --git a/src/bitronix/tm/resource/jdbc/lrc/package.html b/src/bitronix/tm/resource/jdbc/lrc/package.html
new file mode 100644
index 0000000..12d2271
--- /dev/null
+++ b/src/bitronix/tm/resource/jdbc/lrc/package.html
@@ -0,0 +1,10 @@
+<html>
+<body>
+ <p>
+ XADataSource emulator using Last Resource Commit on an underlying non-XA DataSource.
+ Note that if you use the classes of this package you have accepted the heuristic hazard. A crash
+ during commit of a connection returned by this datasource could lead to an inconsistent global state.
+ This is a limitation of the Last Resource Commit technique, not of BTM.
+ </p>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/bitronix/tm/resource/jdbc/package.html b/src/bitronix/tm/resource/jdbc/package.html
new file mode 100644
index 0000000..0e60fb3
--- /dev/null
+++ b/src/bitronix/tm/resource/jdbc/package.html
@@ -0,0 +1,7 @@
+<html>
+<body>
+ <p>
+ JDBC specific resource management code.
+ </p>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/bitronix/tm/resource/jms/DualSessionWrapper.java b/src/bitronix/tm/resource/jms/DualSessionWrapper.java
new file mode 100644
index 0000000..a73315a
--- /dev/null
+++ b/src/bitronix/tm/resource/jms/DualSessionWrapper.java
@@ -0,0 +1,501 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.jms;
+
+import bitronix.tm.BitronixTransaction;
+import bitronix.tm.internal.BitronixSystemException;
+import bitronix.tm.internal.BitronixRollbackSystemException;
+import bitronix.tm.utils.Decoder;
+import bitronix.tm.resource.common.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.jms.*;
+import javax.jms.IllegalStateException;
+import javax.transaction.RollbackException;
+import javax.transaction.SystemException;
+import javax.transaction.xa.XAResource;
+import java.io.Serializable;
+import java.util.*;
+
+/**
+ * JMS Session wrapper that will send calls to either a XASession or to a non-XA Session depending on the calling
+ * context.
+ *
+ * @author lorban
+ */
+public class DualSessionWrapper extends AbstractXAResourceHolder implements Session, StateChangeListener {
+
+ private final static Logger log = LoggerFactory.getLogger(DualSessionWrapper.class);
+
+ private JmsPooledConnection pooledConnection;
+ private boolean transacted;
+ private int acknowledgeMode;
+
+ private XASession xaSession;
+ private Session session;
+ private XAResource xaResource;
+ private MessageListener listener;
+
+ //TODO: shouldn't producers/consumers/subscribers be separated between XA and non-XA session ?
+ private Map messageProducers = new HashMap();
+ private Map messageConsumers = new HashMap();
+ private Map topicSubscribers = new HashMap();
+
+ public DualSessionWrapper(JmsPooledConnection pooledConnection, boolean transacted, int acknowledgeMode) {
+ this.pooledConnection = pooledConnection;
+ this.transacted = transacted;
+ this.acknowledgeMode = acknowledgeMode;
+
+ if (log.isDebugEnabled()) log.debug("getting session handle from " + pooledConnection);
+ setState(STATE_ACCESSIBLE);
+ addStateChangeEventListener(this);
+ }
+
+ public PoolingConnectionFactory getPoolingConnectionFactory() {
+ return pooledConnection.getPoolingConnectionFactory();
+ }
+
+ public Session getSession() throws JMSException {
+ return getSession(false);
+ }
+
+ public Session getSession(boolean forceXa) throws JMSException {
+ if (getState() == STATE_CLOSED)
+ throw new IllegalStateException("session handle is closed");
+
+ if (forceXa) {
+ if (log.isDebugEnabled()) log.debug("choosing XA session (forced)");
+ return createXASession();
+ }
+ else {
+ BitronixTransaction currentTransaction = TransactionContextHelper.currentTransaction();
+ if (currentTransaction != null) {
+ if (log.isDebugEnabled()) log.debug("choosing XA session");
+ return createXASession();
+ }
+ if (log.isDebugEnabled()) log.debug("choosing non-XA session");
+ return createNonXASession();
+ }
+ }
+
+ private Session createNonXASession() throws JMSException {
+ // non-XA
+ if (session == null) {
+ session = pooledConnection.getXAConnection().createSession(transacted, acknowledgeMode);
+ if (listener != null) {
+ session.setMessageListener(listener);
+ if (log.isDebugEnabled()) log.debug("get non-XA session registered message listener: " + listener);
+ }
+ }
+ return session;
+ }
+
+ private Session createXASession() throws JMSException {
+ // XA
+ if (xaSession == null) {
+ xaSession = pooledConnection.getXAConnection().createXASession();
+ if (listener != null) {
+ xaSession.setMessageListener(listener);
+ if (log.isDebugEnabled()) log.debug("get XA session registered message listener: " + listener);
+ }
+ xaResource = xaSession.getXAResource();
+ }
+ return xaSession.getSession();
+ }
+
+ public String toString() {
+ return "a DualSessionWrapper in state " + Decoder.decodeXAStatefulHolderState(getState()) + " of " + pooledConnection;
+ }
+
+
+ /* wrapped Session methods that have special XA semantics */
+
+ public void close() throws JMSException {
+ if (getState() != STATE_ACCESSIBLE) {
+ if (log.isDebugEnabled()) log.debug("not closing already closed " + this);
+ return;
+ }
+
+ if (log.isDebugEnabled()) log.debug("closing " + this);
+
+ // delisting
+ try {
+ TransactionContextHelper.delistFromCurrentTransaction(this);
+ }
+ catch (BitronixRollbackSystemException ex) {
+ throw (JMSException) new TransactionRolledBackException("unilateral rollback of " + this).initCause(ex);
+ }
+ catch (SystemException ex) {
+ throw (JMSException) new JMSException("error delisting " + this).initCause(ex);
+ }
+ finally {
+ // requeuing
+ try {
+ TransactionContextHelper.requeue(this, pooledConnection.getPoolingConnectionFactory());
+ }
+ catch (BitronixSystemException ex) {
+ // this may hide the exception thrown by delistFromCurrentTransaction() but
+ // an error requeuing must absolutely be reported as an exception.
+ // Too bad if this happens... See JdbcPooledConnection.release() as well.
+ throw (JMSException) new JMSException("error requeuing " + this).initCause(ex);
+ }
+ }
+
+ }
+
+ public Date getLastReleaseDate() {
+ return null;
+ }
+
+ /*
+ * When the session is closed (directly or deferred) the action is to change its state to IN_POOL.
+ * There is no such state for JMS sessions, this just means that it has been closed -> force a
+ * state switch to CLOSED then clean up.
+ */
+ public void stateChanged(XAStatefulHolder source, int oldState, int newState) {
+ if (newState == STATE_IN_POOL) {
+ setState(STATE_CLOSED);
+ }
+ else if (newState == STATE_CLOSED) {
+ if (log.isDebugEnabled()) log.debug("session state changing to CLOSED, cleaning it up: " + this);
+
+ if (xaSession != null) {
+ try {
+ xaSession.close();
+ } catch (JMSException ex) {
+ log.error("error closing XA session", ex);
+ }
+ xaSession = null;
+ xaResource = null;
+ }
+
+ if (session != null) {
+ try {
+ session.close();
+ } catch (JMSException ex) {
+ log.error("error closing session", ex);
+ }
+ session = null;
+ }
+
+ Iterator it = messageProducers.entrySet().iterator();
+ while (it.hasNext()) {
+ Map.Entry entry = (Map.Entry) it.next();
+ MessageProducerWrapper messageProducerWrapper = (MessageProducerWrapper) entry.getValue();
+ try {
+ messageProducerWrapper.close();
+ } catch (JMSException ex) {
+ log.error("error closing message producer", ex);
+ }
+ }
+ messageProducers.clear();
+
+ it = messageConsumers.entrySet().iterator();
+ while (it.hasNext()) {
+ Map.Entry entry = (Map.Entry) it.next();
+ MessageConsumerWrapper messageConsumerWrapper = (MessageConsumerWrapper) entry.getValue();
+ try {
+ messageConsumerWrapper.close();
+ } catch (JMSException ex) {
+ log.error("error closing message consumer", ex);
+ }
+ }
+ messageConsumers.clear();
+
+ } // if newState == STATE_CLOSED
+ }
+
+ public void stateChanging(XAStatefulHolder source, int currentState, int futureState) {
+ }
+
+ public MessageProducer createProducer(Destination destination) throws JMSException {
+ MessageProducerConsumerKey key = new MessageProducerConsumerKey(destination);
+ if (log.isDebugEnabled()) log.debug("looking for producer based on " + key);
+ MessageProducerWrapper messageProducer = (MessageProducerWrapper) messageProducers.get(key);
+ if (messageProducer == null) {
+ if (log.isDebugEnabled()) log.debug("found no producer based on " + key + ", creating it");
+ messageProducer = new MessageProducerWrapper(getSession().createProducer(destination), this, pooledConnection.getPoolingConnectionFactory());
+
+ if (pooledConnection.getPoolingConnectionFactory().getCacheProducersConsumers()) {
+ if (log.isDebugEnabled()) log.debug("caching producer via key " + key);
+ messageProducers.put(key, messageProducer);
+ }
+ }
+ else if (log.isDebugEnabled()) log.debug("found producer based on " + key + ", recycling it: " + messageProducer);
+ return messageProducer;
+ }
+
+ public MessageConsumer createConsumer(Destination destination) throws JMSException {
+ MessageProducerConsumerKey key = new MessageProducerConsumerKey(destination);
+ if (log.isDebugEnabled()) log.debug("looking for consumer based on " + key);
+ MessageConsumerWrapper messageConsumer = (MessageConsumerWrapper) messageConsumers.get(key);
+ if (messageConsumer == null) {
+ if (log.isDebugEnabled()) log.debug("found no consumer based on " + key + ", creating it");
+ messageConsumer = new MessageConsumerWrapper(getSession().createConsumer(destination), this, pooledConnection.getPoolingConnectionFactory());
+
+ if (pooledConnection.getPoolingConnectionFactory().getCacheProducersConsumers()) {
+ if (log.isDebugEnabled()) log.debug("caching consumer via key " + key);
+ messageConsumers.put(key, messageConsumer);
+ }
+ }
+ else if (log.isDebugEnabled()) log.debug("found consumer based on " + key + ", recycling it: " + messageConsumer);
+ return messageConsumer;
+ }
+
+ public MessageConsumer createConsumer(Destination destination, String messageSelector) throws JMSException {
+ MessageProducerConsumerKey key = new MessageProducerConsumerKey(destination, messageSelector);
+ if (log.isDebugEnabled()) log.debug("looking for consumer based on " + key);
+ MessageConsumerWrapper messageConsumer = (MessageConsumerWrapper) messageConsumers.get(key);
+ if (messageConsumer == null) {
+ if (log.isDebugEnabled()) log.debug("found no consumer based on " + key + ", creating it");
+ messageConsumer = new MessageConsumerWrapper(getSession().createConsumer(destination, messageSelector), this, pooledConnection.getPoolingConnectionFactory());
+
+ if (pooledConnection.getPoolingConnectionFactory().getCacheProducersConsumers()) {
+ if (log.isDebugEnabled()) log.debug("caching consumer via key " + key);
+ messageConsumers.put(key, messageConsumer);
+ }
+ }
+ else if (log.isDebugEnabled()) log.debug("found consumer based on " + key + ", recycling it: " + messageConsumer);
+ return messageConsumer;
+ }
+
+ public MessageConsumer createConsumer(Destination destination, String messageSelector, boolean noLocal) throws JMSException {
+ MessageProducerConsumerKey key = new MessageProducerConsumerKey(destination, messageSelector, noLocal);
+ if (log.isDebugEnabled()) log.debug("looking for consumer based on " + key);
+ MessageConsumerWrapper messageConsumer = (MessageConsumerWrapper) messageConsumers.get(key);
+ if (messageConsumer == null) {
+ if (log.isDebugEnabled()) log.debug("found no consumer based on " + key + ", creating it");
+ messageConsumer = new MessageConsumerWrapper(getSession().createConsumer(destination, messageSelector, noLocal), this, pooledConnection.getPoolingConnectionFactory());
+
+ if (pooledConnection.getPoolingConnectionFactory().getCacheProducersConsumers()) {
+ if (log.isDebugEnabled()) log.debug("caching consumer via key " + key);
+ messageConsumers.put(key, messageConsumer);
+ }
+ }
+ else if (log.isDebugEnabled()) log.debug("found consumer based on " + key + ", recycling it: " + messageConsumer);
+ return messageConsumer;
+ }
+
+ public TopicSubscriber createDurableSubscriber(Topic topic, String name) throws JMSException {
+ MessageProducerConsumerKey key = new MessageProducerConsumerKey(topic);
+ if (log.isDebugEnabled()) log.debug("looking for durable subscriber based on " + key);
+ TopicSubscriberWrapper topicSubscriber = (TopicSubscriberWrapper) topicSubscribers.get(key);
+ if (topicSubscriber == null) {
+ if (log.isDebugEnabled()) log.debug("found no durable subscriber based on " + key + ", creating it");
+ topicSubscriber = new TopicSubscriberWrapper(getSession().createDurableSubscriber(topic, name), this, pooledConnection.getPoolingConnectionFactory());
+
+ if (pooledConnection.getPoolingConnectionFactory().getCacheProducersConsumers()) {
+ if (log.isDebugEnabled()) log.debug("caching durable subscriber via key " + key);
+ topicSubscribers.put(key, topicSubscriber);
+ }
+ }
+ else if (log.isDebugEnabled()) log.debug("found durable subscriber based on " + key + ", recycling it: " + topicSubscriber);
+ return topicSubscriber;
+ }
+
+ public TopicSubscriber createDurableSubscriber(Topic topic, String name, String messageSelector, boolean noLocal) throws JMSException {
+ MessageProducerConsumerKey key = new MessageProducerConsumerKey(topic, messageSelector, noLocal);
+ if (log.isDebugEnabled()) log.debug("looking for durable subscriber based on " + key);
+ TopicSubscriberWrapper topicSubscriber = (TopicSubscriberWrapper) topicSubscribers.get(key);
+ if (topicSubscriber == null) {
+ if (log.isDebugEnabled()) log.debug("found no durable subscriber based on " + key + ", creating it");
+ topicSubscriber = new TopicSubscriberWrapper(getSession().createDurableSubscriber(topic, name, messageSelector, noLocal), this, pooledConnection.getPoolingConnectionFactory());
+
+ if (pooledConnection.getPoolingConnectionFactory().getCacheProducersConsumers()) {
+ if (log.isDebugEnabled()) log.debug("caching durable subscriber via key " + key);
+ topicSubscribers.put(key, topicSubscriber);
+ }
+ }
+ else if (log.isDebugEnabled()) log.debug("found durable subscriber based on " + key + ", recycling it: " + topicSubscriber);
+ return topicSubscriber;
+ }
+
+ public MessageListener getMessageListener() throws JMSException {
+ return listener;
+ }
+
+ public void setMessageListener(MessageListener listener) throws JMSException {
+ if (getState() == STATE_CLOSED)
+ throw new IllegalStateException("session handle is closed");
+
+ if (session != null)
+ session.setMessageListener(listener);
+ if (xaSession != null)
+ xaSession.setMessageListener(listener);
+
+ this.listener = listener;
+ }
+
+ public void run() {
+ try {
+ Session session = getSession(true);
+ if (log.isDebugEnabled()) log.debug("running XA session " + session);
+ session.run();
+ } catch (JMSException ex) {
+ log.error("error getting session", ex);
+ }
+ }
+
+ /* XAResourceHolder implementation */
+
+ public XAResource getXAResource() {
+ return xaResource;
+ }
+
+ public ResourceBean getResourceBean() {
+ return getPoolingConnectionFactory();
+ }
+
+ /* XAStatefulHolder implementation */
+
+ public List getXAResourceHolders() {
+ List holders = new ArrayList(1);
+ holders.add(this);
+ return holders;
+ }
+
+ public Object getConnectionHandle() throws Exception {
+ return null;
+ }
+
+ /* XA-enhanced methods */
+
+ public boolean getTransacted() throws JMSException {
+ if (isParticipatingInActiveGlobalTransaction())
+ return true; // for consistency with EJB 2.1 spec (17.3.5)
+
+ return getSession().getTransacted();
+ }
+
+ public int getAcknowledgeMode() throws JMSException {
+ if (isParticipatingInActiveGlobalTransaction())
+ return 0; // for consistency with EJB 2.1 spec (17.3.5)
+
+ return getSession().getAcknowledgeMode();
+ }
+
+ public void commit() throws JMSException {
+ if (isParticipatingInActiveGlobalTransaction())
+ throw new TransactionInProgressException("cannot commit a resource enlisted in a global transaction");
+
+ getSession().commit();
+ }
+
+ public void rollback() throws JMSException {
+ if (isParticipatingInActiveGlobalTransaction())
+ throw new TransactionInProgressException("cannot rollback a resource enlisted in a global transaction");
+
+ getSession().rollback();
+ }
+
+ public void recover() throws JMSException {
+ if (isParticipatingInActiveGlobalTransaction())
+ throw new TransactionInProgressException("cannot recover a resource enlisted in a global transaction");
+
+ getSession().recover();
+ }
+
+ public QueueBrowser createBrowser(javax.jms.Queue queue) throws JMSException {
+ enlistResource();
+ return getSession().createBrowser(queue);
+ }
+
+ public QueueBrowser createBrowser(javax.jms.Queue queue, String messageSelector) throws JMSException {
+ enlistResource();
+ return getSession().createBrowser(queue, messageSelector);
+ }
+
+ /* dumb wrapping of Session methods */
+
+ public BytesMessage createBytesMessage() throws JMSException {
+ return getSession().createBytesMessage();
+ }
+
+ public MapMessage createMapMessage() throws JMSException {
+ return getSession().createMapMessage();
+ }
+
+ public Message createMessage() throws JMSException {
+ return getSession().createMessage();
+ }
+
+ public ObjectMessage createObjectMessage() throws JMSException {
+ return getSession().createObjectMessage();
+ }
+
+ public ObjectMessage createObjectMessage(Serializable serializable) throws JMSException {
+ return getSession().createObjectMessage(serializable);
+ }
+
+ public StreamMessage createStreamMessage() throws JMSException {
+ return getSession().createStreamMessage();
+ }
+
+ public TextMessage createTextMessage() throws JMSException {
+ return getSession().createTextMessage();
+ }
+
+ public TextMessage createTextMessage(String text) throws JMSException {
+ return getSession().createTextMessage(text);
+ }
+
+ public javax.jms.Queue createQueue(String queueName) throws JMSException {
+ return getSession().createQueue(queueName);
+ }
+
+ public Topic createTopic(String topicName) throws JMSException {
+ return getSession().createTopic(topicName);
+ }
+
+ public TemporaryQueue createTemporaryQueue() throws JMSException {
+ return getSession().createTemporaryQueue();
+ }
+
+ public TemporaryTopic createTemporaryTopic() throws JMSException {
+ return getSession().createTemporaryTopic();
+ }
+
+ public void unsubscribe(String name) throws JMSException {
+ getSession().unsubscribe(name);
+ }
+
+
+ /**
+ * Enlist this session into the current transaction if automaticEnlistingEnabled = true for this resource.
+ * If no transaction is running then this method does nothing.
+ * @throws JMSException
+ */
+ protected void enlistResource() throws JMSException {
+ PoolingConnectionFactory poolingConnectionFactory = pooledConnection.getPoolingConnectionFactory();
+ if (poolingConnectionFactory.getAutomaticEnlistingEnabled()) {
+ getSession(); // make sure the session is created before enlisting it
+ try {
+ TransactionContextHelper.enlistInCurrentTransaction(this);
+ } catch (SystemException ex) {
+ throw (JMSException) new JMSException("error enlisting " + this).initCause(ex);
+ } catch (RollbackException ex) {
+ throw (JMSException) new JMSException("error enlisting " + this).initCause(ex);
+ }
+ } // if getAutomaticEnlistingEnabled
+ }
+
+}
diff --git a/src/bitronix/tm/resource/jms/JmsConnectionHandle.java b/src/bitronix/tm/resource/jms/JmsConnectionHandle.java
new file mode 100644
index 0000000..9f21b2a
--- /dev/null
+++ b/src/bitronix/tm/resource/jms/JmsConnectionHandle.java
@@ -0,0 +1,105 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.jms;
+
+import javax.jms.*;
+
+/**
+ * Disposable Connection handle.
+ *
+ * @author lorban
+ */
+public class JmsConnectionHandle implements Connection {
+
+ private XAConnection xaConnection;
+ private JmsPooledConnection pooledConnection;
+
+ public JmsConnectionHandle(JmsPooledConnection pooledConnection, XAConnection xaConnection) {
+ this.pooledConnection = pooledConnection;
+ this.xaConnection = xaConnection;
+ }
+
+ public XAConnection getXAConnection() throws JMSException {
+ if (xaConnection == null)
+ throw new JMSException("XA connection handle has been closed");
+ return xaConnection;
+ }
+
+ public JmsPooledConnection getPooledConnection() {
+ return pooledConnection;
+ }
+
+ public Session createSession(boolean transacted, int acknowledgeMode) throws JMSException {
+ return pooledConnection.createSession(transacted, acknowledgeMode);
+ }
+
+ public void close() throws JMSException {
+ if (xaConnection == null)
+ return;
+
+ xaConnection = null;
+ pooledConnection.release();
+ }
+
+ public String toString() {
+ return "a JmsConnectionHandle of " + pooledConnection;
+ }
+
+
+ /* Connection implementation */
+
+ public String getClientID() throws JMSException {
+ return getXAConnection().getClientID();
+ }
+
+ public void setClientID(String jndiName) throws JMSException {
+ getXAConnection().setClientID(jndiName);
+ }
+
+ public ConnectionMetaData getMetaData() throws JMSException {
+ return getXAConnection().getMetaData();
+ }
+
+ public ExceptionListener getExceptionListener() throws JMSException {
+ return getXAConnection().getExceptionListener();
+ }
+
+ public void setExceptionListener(ExceptionListener listener) throws JMSException {
+ getXAConnection().setExceptionListener(listener);
+ }
+
+ public void start() throws JMSException {
+ getXAConnection().start();
+ }
+
+ public void stop() throws JMSException {
+ getXAConnection().stop();
+ }
+
+ public ConnectionConsumer createConnectionConsumer(Destination destination, String messageSelector, ServerSessionPool sessionPool, int maxMessages) throws JMSException {
+ return getXAConnection().createConnectionConsumer(destination, messageSelector, sessionPool, maxMessages);
+ }
+
+ public ConnectionConsumer createDurableConnectionConsumer(Topic topic, String subscriptionName, String messageSelector, ServerSessionPool sessionPool, int maxMessages) throws JMSException {
+ return getXAConnection().createDurableConnectionConsumer(topic, subscriptionName, messageSelector, sessionPool, maxMessages);
+ }
+
+}
diff --git a/src/bitronix/tm/resource/jms/JmsPooledConnection.java b/src/bitronix/tm/resource/jms/JmsPooledConnection.java
new file mode 100644
index 0000000..a2ca3fc
--- /dev/null
+++ b/src/bitronix/tm/resource/jms/JmsPooledConnection.java
@@ -0,0 +1,269 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.jms;
+
+import bitronix.tm.internal.BitronixSystemException;
+import bitronix.tm.utils.Decoder;
+import bitronix.tm.utils.ManagementRegistrar;
+import bitronix.tm.utils.Scheduler;
+import bitronix.tm.resource.common.*;
+import bitronix.tm.resource.jms.lrc.LrcXAConnectionFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.jms.*;
+import java.util.*;
+
+/**
+ * Implementation of a JMS pooled connection wrapping vendor's {@link XAConnection} implementation.
+ *
+ * @author lorban
+ * TODO: how can the JMS connection be accurately tested?
+ */
+public class JmsPooledConnection extends AbstractXAStatefulHolder implements JmsPooledConnectionMBean {
+
+ private final static Logger log = LoggerFactory.getLogger(JmsPooledConnection.class);
+
+ private XAConnection xaConnection;
+ private PoolingConnectionFactory poolingConnectionFactory;
+ private final List sessions = Collections.synchronizedList(new ArrayList());
+
+ /* management */
+ private String jmxName;
+ private Date acquisitionDate;
+ private Date lastReleaseDate;
+
+ protected JmsPooledConnection(PoolingConnectionFactory poolingConnectionFactory, XAConnection connection) {
+ this.poolingConnectionFactory = poolingConnectionFactory;
+ this.xaConnection = connection;
+ this.lastReleaseDate = new Date();
+ addStateChangeEventListener(new JmsPooledConnectionStateChangeListener());
+
+ if (poolingConnectionFactory.getClassName().equals(LrcXAConnectionFactory.class.getName())) {
+ if (log.isDebugEnabled()) log.debug("emulating XA for resource " + poolingConnectionFactory.getUniqueName() + " - changing twoPcOrderingPosition to ALWAYS_LAST_POSITION");
+ poolingConnectionFactory.setTwoPcOrderingPosition(Scheduler.ALWAYS_LAST_POSITION);
+ if (log.isDebugEnabled()) log.debug("emulating XA for resource " + poolingConnectionFactory.getUniqueName() + " - changing deferConnectionRelease to true");
+ poolingConnectionFactory.setDeferConnectionRelease(true);
+ if (log.isDebugEnabled()) log.debug("emulating XA for resource " + poolingConnectionFactory.getUniqueName() + " - changing useTmJoin to true");
+ poolingConnectionFactory.setUseTmJoin(true);
+ }
+
+ this.jmxName = "bitronix.tm:type=JMS,UniqueName=" + ManagementRegistrar.makeValidName(poolingConnectionFactory.getUniqueName()) + ",Id=" + poolingConnectionFactory.incCreatedResourcesCounter();
+ ManagementRegistrar.register(jmxName, this);
+ }
+
+ public XAConnection getXAConnection() {
+ return xaConnection;
+ }
+
+ public PoolingConnectionFactory getPoolingConnectionFactory() {
+ return poolingConnectionFactory;
+ }
+
+ public synchronized RecoveryXAResourceHolder createRecoveryXAResourceHolder() throws JMSException {
+ DualSessionWrapper dualSessionWrapper = new DualSessionWrapper(this, false, 0);
+ dualSessionWrapper.getSession(true); // force creation of XASession to allow access to XAResource
+ return new RecoveryXAResourceHolder(dualSessionWrapper);
+ }
+
+ public synchronized void close() throws JMSException {
+ if (xaConnection != null) {
+ setState(STATE_CLOSED);
+ xaConnection.close();
+ }
+ xaConnection = null;
+ }
+
+ public List getXAResourceHolders() {
+ synchronized (sessions) {
+ return new ArrayList(sessions);
+ }
+ }
+
+ public Object getConnectionHandle() throws Exception {
+ if (log.isDebugEnabled()) log.debug("getting connection handle from " + this);
+ int oldState = getState();
+
+ setState(STATE_ACCESSIBLE);
+
+ if (oldState == STATE_IN_POOL) {
+ if (log.isDebugEnabled()) log.debug("connection " + xaConnection + " was in state IN_POOL, testing it");
+ testXAConnection();
+ }
+ else {
+ if (log.isDebugEnabled()) log.debug("connection " + xaConnection + " was in state " + Decoder.decodeXAStatefulHolderState(oldState) + ", no need to test it");
+ }
+
+ if (log.isDebugEnabled()) log.debug("got connection handle from " + this);
+ return new JmsConnectionHandle(this, xaConnection);
+ }
+
+ private void testXAConnection() throws JMSException {
+ if (!poolingConnectionFactory.getTestConnections()) {
+ if (log.isDebugEnabled()) log.debug("not testing connection of " + this);
+ return;
+ }
+
+ if (log.isDebugEnabled()) log.debug("testing connection of " + this);
+ XASession xaSession = xaConnection.createXASession();
+ try {
+ TemporaryQueue tq = xaSession.createTemporaryQueue();
+ tq.delete();
+ } finally {
+ xaSession.close();
+ }
+ }
+
+ protected void release() throws JMSException {
+ if (log.isDebugEnabled()) log.debug("releasing to pool " + this);
+ closePendingSessions();
+
+ // requeuing
+ try {
+ TransactionContextHelper.requeue(this, poolingConnectionFactory);
+ } catch (BitronixSystemException ex) {
+ throw (JMSException) new JMSException("error requeueing " + this).initCause(ex);
+ }
+
+ if (log.isDebugEnabled()) log.debug("released to pool " + this);
+ }
+
+ private void closePendingSessions() {
+ synchronized (sessions) {
+ for (int i = 0; i < sessions.size(); i++) {
+ DualSessionWrapper dualSessionWrapper = (DualSessionWrapper) sessions.get(i);
+ if (dualSessionWrapper.getState() != STATE_ACCESSIBLE)
+ continue;
+
+ try {
+ if (log.isDebugEnabled()) log.debug("trying to close pending session " + dualSessionWrapper);
+ dualSessionWrapper.close();
+ } catch (JMSException ex) {
+ log.warn("error closing pending session " + dualSessionWrapper, ex);
+ }
+ }
+ }
+ }
+
+ protected Session createSession(boolean transacted, int acknowledgeMode) throws JMSException {
+ DualSessionWrapper sessionHandle = getNotAccessibleSession();
+
+ if (sessionHandle == null) {
+ if (log.isDebugEnabled()) log.debug("no session handle found in NOT_ACCESSIBLE state, creating new session");
+ sessionHandle = new DualSessionWrapper(this, transacted, acknowledgeMode);
+ sessionHandle.addStateChangeEventListener(new JmsConnectionHandleStateChangeListener());
+ synchronized (sessions) {
+ sessions.add(sessionHandle);
+ }
+ }
+ else {
+ if (log.isDebugEnabled()) log.debug("found session handle in NOT_ACCESSIBLE state, recycling it: " + sessionHandle);
+ sessionHandle.setState(XAResourceHolder.STATE_ACCESSIBLE);
+ }
+
+ return sessionHandle;
+ }
+
+ private DualSessionWrapper getNotAccessibleSession() {
+ synchronized (sessions) {
+ if (log.isDebugEnabled()) log.debug(sessions.size() + " session(s) open from " + this);
+ for (int i = 0; i < sessions.size(); i++) {
+ DualSessionWrapper sessionHandle = (DualSessionWrapper) sessions.get(i);
+ if (sessionHandle.getState() == XAResourceHolder.STATE_NOT_ACCESSIBLE)
+ return sessionHandle;
+ }
+ return null;
+ }
+ }
+
+ public Date getLastReleaseDate() {
+ return lastReleaseDate;
+ }
+
+ public String toString() {
+ synchronized (sessions) {
+ return "a JmsPooledConnection of pool " + poolingConnectionFactory.getUniqueName() + " in state " +
+ Decoder.decodeXAStatefulHolderState(getState()) + " with underlying connection " + xaConnection;
+ }
+ }
+
+ /* management */
+
+ public String getStateDescription() {
+ return Decoder.decodeXAStatefulHolderState(getState());
+ }
+
+ public Date getAcquisitionDate() {
+ return acquisitionDate;
+ }
+
+ public Collection getTransactionGtridsCurrentlyHoldingThis() {
+ synchronized (sessions) {
+ Set result = new HashSet();
+ for (int i = 0; i < sessions.size(); i++) {
+ DualSessionWrapper dsw = (DualSessionWrapper) sessions.get(i);
+ result.addAll(dsw.getXAResourceHolderStateGtrids());
+ }
+ return result;
+ }
+ }
+
+ /**
+ * {@link JmsPooledConnection} {@link bitronix.tm.resource.common.StateChangeListener}.
+ * When state changes to STATE_CLOSED, the conenction is unregistered from
+ * {@link bitronix.tm.utils.ManagementRegistrar}.
+ */
+ private class JmsPooledConnectionStateChangeListener implements StateChangeListener {
+ public void stateChanged(XAStatefulHolder source, int oldState, int newState) {
+ if (newState == STATE_IN_POOL) {
+ if (log.isDebugEnabled()) log.debug("requeued JMS connection of " + poolingConnectionFactory);
+ lastReleaseDate = new Date();
+ }
+ if (oldState == STATE_IN_POOL && newState == STATE_ACCESSIBLE) {
+ acquisitionDate = new Date();
+ }
+ if (newState == STATE_CLOSED) {
+ ManagementRegistrar.unregister(jmxName);
+ }
+ }
+
+ public void stateChanging(XAStatefulHolder source, int currentState, int futureState) {
+ }
+ }
+
+ /**
+ * {@link JmsConnectionHandle} {@link bitronix.tm.resource.common.StateChangeListener}.
+ * When state changes to STATE_CLOSED, the session is removed from the list of opened sessions.
+ */
+ private class JmsConnectionHandleStateChangeListener implements StateChangeListener {
+ public void stateChanged(XAStatefulHolder source, int oldState, int newState) {
+ if (newState == XAResourceHolder.STATE_CLOSED) {
+ synchronized (sessions) {
+ sessions.remove(source);
+ if (log.isDebugEnabled()) log.debug("DualSessionWrapper has been closed, " + sessions.size() + " session(s) left open in pooled connection");
+ }
+ }
+ }
+
+ public void stateChanging(XAStatefulHolder source, int currentState, int futureState) {
+ }
+ }
+}
diff --git a/src/bitronix/tm/resource/jms/JmsPooledConnectionMBean.java b/src/bitronix/tm/resource/jms/JmsPooledConnectionMBean.java
new file mode 100644
index 0000000..2c697a3
--- /dev/null
+++ b/src/bitronix/tm/resource/jms/JmsPooledConnectionMBean.java
@@ -0,0 +1,37 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.jms;
+
+import java.util.Collection;
+import java.util.Date;
+
+/**
+ * {@link JmsPooledConnection} Management interface.
+ *
+ * @author lorban
+ */
+public interface JmsPooledConnectionMBean {
+
+ String getStateDescription();
+ Date getAcquisitionDate();
+ Collection getTransactionGtridsCurrentlyHoldingThis();
+
+}
diff --git a/src/bitronix/tm/resource/jms/JndiXAConnectionFactory.java b/src/bitronix/tm/resource/jms/JndiXAConnectionFactory.java
new file mode 100644
index 0000000..1b5334f
--- /dev/null
+++ b/src/bitronix/tm/resource/jms/JndiXAConnectionFactory.java
@@ -0,0 +1,249 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.jms;
+
+import javax.jms.XAConnectionFactory;
+import javax.jms.XAConnection;
+import javax.jms.JMSException;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.rmi.PortableRemoteObject;
+import java.util.Hashtable;
+import java.util.Properties;
+
+/**
+ * {@link XAConnectionFactory} implementation that wraps another {@link XAConnectionFactory} implementation available
+ * in some JNDI tree.
+ *
+ * @author lorban
+ */
+public class JndiXAConnectionFactory implements XAConnectionFactory {
+
+ private String initialContextFactory;
+ private String providerUrl;
+ private String urlPkgPrefixes;
+ private String name;
+ private String securityPrincipal;
+ private String securityCredentials;
+ private Properties extraJndiProperties = new Properties();
+ private boolean narrowJndiObject = false;
+ private XAConnectionFactory wrappedFactory;
+
+
+ public JndiXAConnectionFactory() {
+ }
+
+ /**
+ * The {@link Context#INITIAL_CONTEXT_FACTORY} of the JNDI {@link Context} used to fetch the {@link XAConnectionFactory}.
+ * @return the {@link Context#INITIAL_CONTEXT_FACTORY} value.
+ */
+ public String getInitialContextFactory() {
+ return initialContextFactory;
+ }
+
+ /**
+ * Set the {@link Context#INITIAL_CONTEXT_FACTORY} of the JNDI {@link Context} used to fetch the {@link XAConnectionFactory}.
+ * If not set, the {@link Context} is created without the environment parameter, using the default constructor. This means
+ * <i>all other properties (providerUrl, urlPkgPrefixes, extraJndiProperties...) are then ignored.</i>
+ * @param initialContextFactory the {@link Context#INITIAL_CONTEXT_FACTORY} value.
+ */
+ public void setInitialContextFactory(String initialContextFactory) {
+ this.initialContextFactory = initialContextFactory;
+ }
+
+ /**
+ * The {@link Context#PROVIDER_URL} of the JNDI {@link Context} used to fetch the {@link XAConnectionFactory}.
+ * @return the {@link Context#PROVIDER_URL} value.
+ */
+ public String getProviderUrl() {
+ return providerUrl;
+ }
+
+ /**
+ * Set the {@link Context#PROVIDER_URL} of the JNDI {@link Context} used to fetch the {@link XAConnectionFactory}.
+ * @param providerUrl the {@link Context#PROVIDER_URL} value.
+ */
+ public void setProviderUrl(String providerUrl) {
+ this.providerUrl = providerUrl;
+ }
+
+ /**
+ * The {@link Context#URL_PKG_PREFIXES} of the JNDI {@link Context} used to fetch the {@link XAConnectionFactory}.
+ * @return the {@link Context#URL_PKG_PREFIXES} value.
+ */
+ public String getUrlPkgPrefixes() {
+ return urlPkgPrefixes;
+ }
+
+ /**
+ * Set the {@link Context#URL_PKG_PREFIXES} of the JNDI {@link Context} used to fetch the {@link XAConnectionFactory}.
+ * @param urlPkgPrefixes the {@link Context#URL_PKG_PREFIXES} value.
+ */
+ public void setUrlPkgPrefixes(String urlPkgPrefixes) {
+ this.urlPkgPrefixes = urlPkgPrefixes;
+ }
+
+ /**
+ * The {@link Context#SECURITY_PRINCIPAL} of the JNDI {@link Context} used to fetch the {@link XAConnectionFactory}.
+ * @return the {@link Context#SECURITY_PRINCIPAL} value.
+ */
+ public String getSecurityPrincipal() {
+ return securityPrincipal;
+ }
+
+ /**
+ * Set the {@link Context#SECURITY_PRINCIPAL} of the JNDI {@link Context} used to fetch the {@link XAConnectionFactory}.
+ * If {@link Context#INITIAL_CONTEXT_FACTORY} and {@link Context#PROVIDER_URL} are not set, this value is ignored.
+ * @param securityPrincipal the {@link Context#SECURITY_PRINCIPAL} value.
+ */
+ public void setSecurityPrincipal(String securityPrincipal) {
+ this.securityPrincipal = securityPrincipal;
+ }
+
+ /**
+ * The {@link Context#SECURITY_CREDENTIALS} of the JNDI {@link Context} used to fetch the {@link XAConnectionFactory}.
+ * @return the {@link Context#SECURITY_CREDENTIALS} value.
+ */
+ public String getSecurityCredentials() {
+ return securityCredentials;
+ }
+
+ /**
+ * Set the {@link Context#SECURITY_CREDENTIALS} of the JNDI {@link Context} used to fetch the {@link XAConnectionFactory}.
+ * If {@link Context#INITIAL_CONTEXT_FACTORY} and {@link Context#PROVIDER_URL} are not set, this value is ignored.
+ * @param securityCredentials the {@link Context#SECURITY_CREDENTIALS} value.
+ */
+ public void setSecurityCredentials(String securityCredentials) {
+ this.securityCredentials = securityCredentials;
+ }
+
+ /**
+ * The JNDI name under which the {@link XAConnectionFactory} is available.
+ * @return The JNDI name.
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Set the JNDI name under which the {@link XAConnectionFactory} is available.
+ * @param name the JNDI name.
+ */
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ /**
+ * The extra JNDI environment properties added the the {@link InitialContext}'s environment upon creation.
+ * @return The extra JNDI environment properties.
+ */
+ public Properties getExtraJndiProperties() {
+ return extraJndiProperties;
+ }
+
+ /**
+ * Set the extra JNDI environment properties added the the {@link InitialContext}'s environment upon creation.
+ * @param extraJndiProperties The extra JNDI environment properties.
+ */
+ public void setExtraJndiProperties(Properties extraJndiProperties) {
+ this.extraJndiProperties = extraJndiProperties;
+ }
+
+ /**
+ * Should {@link PortableRemoteObject#narrow(Object, Class)} be applied on the object looked up from
+ * JNDI before trying to cast it to {@link XAConnectionFactory} ?
+ * @return true if the object should be narrowed, false otherwise.
+ */
+ public boolean isNarrowJndiObject() {
+ return narrowJndiObject;
+ }
+
+ /**
+ * Set if {@link PortableRemoteObject#narrow(Object, Class)} should be applied on the object looked up from
+ * JNDI before trying to cast it to {@link XAConnectionFactory} ?
+ * @param narrowJndiObject true if the object should be narrowed, false otherwise.
+ */
+ public void setNarrowJndiObject(boolean narrowJndiObject) {
+ this.narrowJndiObject = narrowJndiObject;
+ }
+
+ protected void init() throws NamingException {
+ if (wrappedFactory != null)
+ return;
+
+ Context ctx;
+ if (!isEmpty(initialContextFactory)) {
+ Hashtable env = new Hashtable();
+ env.put(Context.INITIAL_CONTEXT_FACTORY, initialContextFactory);
+ if (!isEmpty(providerUrl))
+ env.put(Context.PROVIDER_URL, providerUrl);
+ if (!isEmpty(urlPkgPrefixes))
+ env.put(Context.URL_PKG_PREFIXES, urlPkgPrefixes);
+ if (!isEmpty(securityPrincipal))
+ env.put(Context.SECURITY_PRINCIPAL, securityPrincipal);
+ if (!isEmpty(securityCredentials))
+ env.put(Context.SECURITY_CREDENTIALS, securityCredentials);
+ if (!extraJndiProperties.isEmpty())
+ env.putAll(extraJndiProperties);
+ ctx = new InitialContext(env);
+ }
+ else {
+ ctx = new InitialContext();
+ }
+
+ try {
+ Object lookedUpObject = ctx.lookup(name);
+ if (narrowJndiObject) {
+ wrappedFactory = (XAConnectionFactory) PortableRemoteObject.narrow(lookedUpObject, XAConnectionFactory.class);
+ }
+ else {
+ wrappedFactory = (XAConnectionFactory) lookedUpObject;
+ }
+ }
+ finally {
+ ctx.close();
+ }
+ }
+
+ public XAConnection createXAConnection() throws JMSException {
+ try {
+ init();
+ return wrappedFactory.createXAConnection();
+ } catch (NamingException ex) {
+ throw (JMSException) new JMSException("error looking up wrapped XAConnectionFactory at " + name).initCause(ex);
+ }
+ }
+
+ public XAConnection createXAConnection(String userName, String password) throws JMSException {
+ try {
+ init();
+ return wrappedFactory.createXAConnection(userName, password);
+ } catch (NamingException ex) {
+ throw (JMSException) new JMSException("error looking up wrapped XAConnectionFactory at " + name).initCause(ex);
+ }
+ }
+
+ private static boolean isEmpty(String str) {
+ return str == null || str.trim().equals("");
+ }
+
+}
diff --git a/src/bitronix/tm/resource/jms/MessageConsumerWrapper.java b/src/bitronix/tm/resource/jms/MessageConsumerWrapper.java
new file mode 100644
index 0000000..161b7de
--- /dev/null
+++ b/src/bitronix/tm/resource/jms/MessageConsumerWrapper.java
@@ -0,0 +1,110 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.jms;
+
+import bitronix.tm.resource.common.TransactionContextHelper;
+
+import javax.jms.JMSException;
+import javax.jms.Message;
+import javax.jms.MessageConsumer;
+import javax.jms.MessageListener;
+import javax.transaction.RollbackException;
+import javax.transaction.SystemException;
+
+/**
+ * {@link MessageConsumer} wrapper that adds XA enlistment semantics.
+ *
+ * @author lorban
+ */
+public class MessageConsumerWrapper implements MessageConsumer {
+
+ private MessageConsumer messageConsumer;
+ protected DualSessionWrapper session;
+ private PoolingConnectionFactory poolingConnectionFactory;
+
+ public MessageConsumerWrapper(MessageConsumer messageConsumer, DualSessionWrapper session, PoolingConnectionFactory poolingConnectionFactory) {
+ this.messageConsumer = messageConsumer;
+ this.session = session;
+ this.poolingConnectionFactory = poolingConnectionFactory;
+ }
+
+ public MessageConsumer getMessageConsumer() {
+ return messageConsumer;
+ }
+
+ /**
+ * Enlist this session into the current transaction if automaticEnlistingEnabled = true for this resource.
+ * If no transaction is running then this method does nothing.
+ * @throws javax.jms.JMSException
+ */
+ protected void enlistResource() throws JMSException {
+ if (poolingConnectionFactory.getAutomaticEnlistingEnabled()) {
+ session.getSession(); // make sure the session is created before enlisting it
+ try {
+ TransactionContextHelper.enlistInCurrentTransaction(session);
+ } catch (SystemException ex) {
+ throw (JMSException) new JMSException("error enlisting " + this).initCause(ex);
+ } catch (RollbackException ex) {
+ throw (JMSException) new JMSException("error enlisting " + this).initCause(ex);
+ }
+ } // if getAutomaticEnlistingEnabled
+ }
+
+ public String toString() {
+ return "a MessageConsumerWrapper of " + session;
+ }
+
+ /* MessageProducer with special XA semantics implementation */
+
+ public Message receive() throws JMSException {
+ enlistResource();
+ return getMessageConsumer().receive();
+ }
+
+ public Message receive(long timeout) throws JMSException {
+ enlistResource();
+ return getMessageConsumer().receive(timeout);
+ }
+
+ public Message receiveNoWait() throws JMSException {
+ enlistResource();
+ return getMessageConsumer().receiveNoWait();
+ }
+
+ public void close() throws JMSException {
+ // do nothing as the close is handled by the session handle
+ }
+
+ /* dumb wrapping of MessageProducer methods */
+
+ public String getMessageSelector() throws JMSException {
+ return getMessageConsumer().getMessageSelector();
+ }
+
+ public MessageListener getMessageListener() throws JMSException {
+ return getMessageConsumer().getMessageListener();
+ }
+
+ public void setMessageListener(MessageListener listener) throws JMSException {
+ getMessageConsumer().setMessageListener(listener);
+ }
+
+}
diff --git a/src/bitronix/tm/resource/jms/MessageProducerConsumerKey.java b/src/bitronix/tm/resource/jms/MessageProducerConsumerKey.java
new file mode 100644
index 0000000..bd60382
--- /dev/null
+++ b/src/bitronix/tm/resource/jms/MessageProducerConsumerKey.java
@@ -0,0 +1,119 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.jms;
+
+import bitronix.tm.internal.BitronixRuntimeException;
+
+import javax.jms.Destination;
+import javax.jms.Queue;
+import javax.jms.Topic;
+import javax.jms.JMSException;
+
+/**
+ * JMS destination wrapper optimized for use with hashed collections where it is the key and a
+ * {@link javax.jms.MessageProducer} or a {@link javax.jms.MessageConsumer} is the value.
+ *
+ * @author lorban
+ */
+public class MessageProducerConsumerKey {
+
+ private Destination destination;
+ private String messageSelector;
+ private Boolean noLocal;
+
+ public MessageProducerConsumerKey(Destination destination) {
+ this.destination = destination;
+ }
+
+ public MessageProducerConsumerKey(Destination destination, String messageSelector) {
+ this.destination = destination;
+ this.messageSelector = messageSelector;
+ }
+
+ public MessageProducerConsumerKey(Destination destination, String messageSelector, boolean noLocal) {
+ this.destination = destination;
+ this.messageSelector = messageSelector;
+ this.noLocal = Boolean.valueOf(noLocal);
+ }
+
+ public boolean equals(Object obj) {
+ if (obj instanceof MessageProducerConsumerKey) {
+ MessageProducerConsumerKey otherKey = (MessageProducerConsumerKey) obj;
+
+ if (!areEquals(getDestinationName(), otherKey.getDestinationName()))
+ return false;
+ if (!areEquals(messageSelector, otherKey.messageSelector))
+ return false;
+ if (!areEquals(noLocal, otherKey.noLocal))
+ return false;
+
+ return true;
+ }
+ return false;
+ }
+
+ private static boolean areEquals(Object o1, Object o2) {
+ if (o1 == null && o2 == null)
+ return true;
+ if (o1 != null && o2 == null)
+ return false;
+ if (o1 == null)
+ return false;
+ return o1.equals(o2);
+ }
+
+ private String getDestinationName() {
+ if (destination == null) {
+ return null;
+ }
+ else if (destination instanceof Queue) {
+ try {
+ return ((Queue) destination).getQueueName();
+ } catch (JMSException ex) {
+ throw new BitronixRuntimeException("error getting queue name of " + destination, ex);
+ }
+ }
+ else if (destination instanceof Topic) {
+ try {
+ return ((Topic) destination).getTopicName();
+ } catch (JMSException ex) {
+ throw new BitronixRuntimeException("error getting topic name of " + destination, ex);
+ }
+ }
+ else throw new IllegalArgumentException("unsupported destination: " + destination);
+ }
+
+ public int hashCode() {
+ return hash(getDestinationName()) + hash(messageSelector) + hash(noLocal);
+ }
+
+ private static int hash(Object o) {
+ if (o == null)
+ return 0;
+ return o.hashCode();
+ }
+
+ public String toString() {
+ return "a MessageProducerConsumerKey on " + destination +
+ (messageSelector == null ? "" : (" with selector '" + messageSelector) + "'") +
+ (noLocal == null ? "" : (" and noLocal=" + noLocal));
+ }
+}
diff --git a/src/bitronix/tm/resource/jms/MessageProducerWrapper.java b/src/bitronix/tm/resource/jms/MessageProducerWrapper.java
new file mode 100644
index 0000000..9d444c4
--- /dev/null
+++ b/src/bitronix/tm/resource/jms/MessageProducerWrapper.java
@@ -0,0 +1,147 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.jms;
+
+import bitronix.tm.resource.common.TransactionContextHelper;
+
+import javax.jms.Destination;
+import javax.jms.JMSException;
+import javax.jms.Message;
+import javax.jms.MessageProducer;
+import javax.transaction.RollbackException;
+import javax.transaction.SystemException;
+
+/**
+ * {@link MessageProducer} wrapper that adds XA enlistment semantics.
+ *
+ * @author lorban
+ */
+public class MessageProducerWrapper implements MessageProducer {
+
+ private MessageProducer messageProducer;
+ protected DualSessionWrapper session;
+ private PoolingConnectionFactory poolingConnectionFactory;
+
+ public MessageProducerWrapper(MessageProducer messageProducer, DualSessionWrapper session, PoolingConnectionFactory poolingConnectionFactory) {
+ this.messageProducer = messageProducer;
+ this.session = session;
+ this.poolingConnectionFactory = poolingConnectionFactory;
+ }
+
+ public MessageProducer getMessageProducer() {
+ return messageProducer;
+ }
+
+ /**
+ * Enlist this session into the current transaction if automaticEnlistingEnabled = true for this resource.
+ * If no transaction is running then this method does nothing.
+ * @throws JMSException
+ */
+ protected void enlistResource() throws JMSException {
+ if (poolingConnectionFactory.getAutomaticEnlistingEnabled()) {
+ session.getSession(); // make sure the session is created before enlisting it
+ try {
+ TransactionContextHelper.enlistInCurrentTransaction(session);
+ } catch (SystemException ex) {
+ throw (JMSException) new JMSException("error enlisting " + this).initCause(ex);
+ } catch (RollbackException ex) {
+ throw (JMSException) new JMSException("error enlisting " + this).initCause(ex);
+ }
+ } // if getAutomaticEnlistingEnabled
+ }
+
+ public String toString() {
+ return "a MessageProducerWrapper of " + session;
+ }
+
+ /* MessageProducer with special XA semantics implementation */
+
+ public void send(Message message) throws JMSException {
+ enlistResource();
+ getMessageProducer().send(message);
+ }
+
+ public void send(Message message, int deliveryMode, int priority, long timeToLive) throws JMSException {
+ enlistResource();
+ getMessageProducer().send(message, deliveryMode, priority, timeToLive);
+ }
+
+ public void send(Destination destination, Message message) throws JMSException {
+ enlistResource();
+ getMessageProducer().send(destination, message);
+ }
+
+ public void send(Destination destination, Message message, int deliveryMode, int priority, long timeToLive) throws JMSException {
+ enlistResource();
+ getMessageProducer().send(destination, message, deliveryMode, priority, timeToLive);
+ }
+
+ public void close() throws JMSException {
+ // do nothing as the close is handled by the session handle
+ }
+
+ /* dumb wrapping of MessageProducer methods */
+
+ public void setDisableMessageID(boolean value) throws JMSException {
+ getMessageProducer().setDisableMessageID(value);
+ }
+
+ public boolean getDisableMessageID() throws JMSException {
+ return getMessageProducer().getDisableMessageID();
+ }
+
+ public void setDisableMessageTimestamp(boolean value) throws JMSException {
+ getMessageProducer().setDisableMessageTimestamp(value);
+ }
+
+ public boolean getDisableMessageTimestamp() throws JMSException {
+ return getMessageProducer().getDisableMessageTimestamp();
+ }
+
+ public void setDeliveryMode(int deliveryMode) throws JMSException {
+ getMessageProducer().setDeliveryMode(deliveryMode);
+ }
+
+ public int getDeliveryMode() throws JMSException {
+ return getMessageProducer().getDeliveryMode();
+ }
+
+ public void setPriority(int defaultPriority) throws JMSException {
+ getMessageProducer().setPriority(defaultPriority);
+ }
+
+ public int getPriority() throws JMSException {
+ return getMessageProducer().getPriority();
+ }
+
+ public void setTimeToLive(long timeToLive) throws JMSException {
+ getMessageProducer().setTimeToLive(timeToLive);
+ }
+
+ public long getTimeToLive() throws JMSException {
+ return getMessageProducer().getTimeToLive();
+ }
+
+ public Destination getDestination() throws JMSException {
+ return getMessageProducer().getDestination();
+ }
+
+}
diff --git a/src/bitronix/tm/resource/jms/PoolingConnectionFactory.java b/src/bitronix/tm/resource/jms/PoolingConnectionFactory.java
new file mode 100644
index 0000000..7e6c733
--- /dev/null
+++ b/src/bitronix/tm/resource/jms/PoolingConnectionFactory.java
@@ -0,0 +1,272 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.jms;
+
+import bitronix.tm.internal.XAResourceHolderState;
+import bitronix.tm.recovery.RecoveryException;
+import bitronix.tm.resource.ResourceConfigurationException;
+import bitronix.tm.resource.ResourceObjectFactory;
+import bitronix.tm.resource.ResourceRegistrar;
+import bitronix.tm.resource.common.*;
+import bitronix.tm.utils.ManagementRegistrar;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.jms.*;
+import javax.naming.NamingException;
+import javax.naming.Reference;
+import javax.naming.StringRefAddr;
+import javax.transaction.xa.XAResource;
+
+/**
+ * Implementation of a JMS {@link ConnectionFactory} wrapping vendor's {@link XAConnectionFactory} implementation.
+ *
+ * @author lorban
+ */
+public class PoolingConnectionFactory extends ResourceBean implements ConnectionFactory, XAResourceProducer, PoolingConnectionFactoryMBean {
+
+ private final static Logger log = LoggerFactory.getLogger(PoolingConnectionFactory.class);
+
+ private transient XAPool pool;
+ private transient JmsPooledConnection recoveryPooledConnection;
+ private transient RecoveryXAResourceHolder recoveryXAResourceHolder;
+
+ private boolean cacheProducersConsumers = true;
+ private boolean testConnections = false;
+ private String user;
+ private String password;
+ private JmsConnectionHandle recoveryConnectionHandle;
+ private String jmxName;
+
+
+ public PoolingConnectionFactory() {
+ }
+
+
+ /**
+ * Initialize the pool by creating the initial amount of connections.
+ */
+ public synchronized void init() {
+ try {
+ if (pool != null)
+ return;
+
+ buildXAPool();
+ this.jmxName = "bitronix.tm:type=JMS,UniqueName=" + ManagementRegistrar.makeValidName(getUniqueName());
+ ManagementRegistrar.register(jmxName, this);
+ }
+ catch (Exception ex) {
+ throw new ResourceConfigurationException("cannot create JMS connection factory named " + getUniqueName(), ex);
+ }
+ }
+
+ public boolean getCacheProducersConsumers() {
+ return cacheProducersConsumers;
+ }
+
+ public void setCacheProducersConsumers(boolean cacheProducersConsumers) {
+ this.cacheProducersConsumers = cacheProducersConsumers;
+ }
+
+ public boolean getTestConnections() {
+ return testConnections;
+ }
+
+ public void setTestConnections(boolean testConnections) {
+ this.testConnections = testConnections;
+ }
+
+ public String getUser() {
+ return user;
+ }
+
+ public void setUser(String user) {
+ this.user = user;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+
+ private void buildXAPool() throws Exception {
+ if (pool != null)
+ return;
+
+ if (log.isDebugEnabled()) log.debug("building JMS XA pool for " + getUniqueName() + " with " + getMinPoolSize() + " connection(s)");
+ pool = new XAPool(this, this);
+ try {
+ ResourceRegistrar.register(this);
+ } catch (RecoveryException ex) {
+ pool = null;
+ throw ex;
+ }
+ }
+
+
+ public Connection createConnection() throws JMSException {
+ if (isDisabled()) {
+ throw new JMSException("JMS connection pool '" + getUniqueName() + "' is disabled, cannot get a connection from it");
+ }
+
+ try {
+ init();
+ return (Connection) pool.getConnectionHandle();
+ } catch (Exception ex) {
+ throw (JMSException) new JMSException("unable to get a connection from pool of " + this).initCause(ex);
+ }
+ }
+
+ public Connection createConnection(String userName, String password) throws JMSException {
+ if (log.isDebugEnabled()) log.debug("JMS connections are pooled, username and password ignored");
+ return createConnection();
+ }
+
+ public String toString() {
+ return "a PoolingConnectionFactory with " + pool;
+ }
+
+
+ /* XAResourceProducer implementation */
+
+ public XAResourceHolderState startRecovery() throws RecoveryException {
+ init();
+ if (recoveryPooledConnection != null)
+ throw new RecoveryException("recovery already in progress on " + this);
+
+ try {
+ recoveryConnectionHandle = (JmsConnectionHandle) pool.getConnectionHandle(false);
+ recoveryPooledConnection = recoveryConnectionHandle.getPooledConnection();
+ recoveryXAResourceHolder = recoveryPooledConnection.createRecoveryXAResourceHolder();
+ return new XAResourceHolderState(recoveryXAResourceHolder, recoveryPooledConnection.getPoolingConnectionFactory());
+ } catch (Exception ex) {
+ throw new RecoveryException("error starting recovery", ex);
+ }
+ }
+
+ public void endRecovery() throws RecoveryException {
+ if (recoveryPooledConnection == null)
+ return;
+
+ try {
+ if (recoveryConnectionHandle != null) {
+ try {
+ if (log.isDebugEnabled()) log.debug("recovery connection handle is being closed: " + recoveryConnectionHandle);
+ recoveryConnectionHandle.close();
+ } catch (Exception ex) {
+ throw new RecoveryException("error ending recovery", ex);
+ }
+ }
+
+ if (recoveryXAResourceHolder != null) {
+ try {
+ if (log.isDebugEnabled()) log.debug("recovery xa resource is being closed: " + recoveryXAResourceHolder);
+ recoveryXAResourceHolder.close();
+ } catch (Exception ex) {
+ throw new RecoveryException("error ending recovery", ex);
+ }
+ }
+ }
+ finally {
+ recoveryConnectionHandle = null;
+ recoveryXAResourceHolder = null;
+ recoveryPooledConnection = null;
+ }
+ }
+
+ public void setFailed(boolean failed) {
+ pool.setFailed(failed);
+ }
+
+ public boolean isFailed() {
+ return pool.isFailed();
+ }
+
+ public void close() {
+ if (pool == null)
+ return;
+
+ if (log.isDebugEnabled()) log.debug("closing " + pool);
+ pool.close();
+ pool = null;
+
+ ManagementRegistrar.unregister(jmxName);
+ jmxName = null;
+
+ ResourceRegistrar.unregister(this);
+ }
+
+ public XAStatefulHolder createPooledConnection(Object xaFactory, ResourceBean bean) throws Exception {
+ if (!(xaFactory instanceof XAConnectionFactory))
+ throw new IllegalArgumentException("class '" + xaFactory.getClass().getName() + "' does not implement " + XAConnectionFactory.class.getName());
+ XAConnectionFactory xaConnectionFactory = (XAConnectionFactory) xaFactory;
+
+ XAConnection xaConnection;
+ if (user == null || password == null) {
+ if (log.isDebugEnabled()) log.debug("creating new JMS XAConnection with no credentials");
+ xaConnection = xaConnectionFactory.createXAConnection();
+ }
+ else {
+ if (log.isDebugEnabled()) log.debug("creating new JMS XAConnection with user <" + user + "> and password <" + password + ">");
+ xaConnection = xaConnectionFactory.createXAConnection(user, password);
+ }
+
+ return new JmsPooledConnection(this, xaConnection);
+ }
+
+ public XAResourceHolder findXAResourceHolder(XAResource xaResource) {
+ return pool.findXAResourceHolder(xaResource);
+ }
+
+ /* Referenceable implementation */
+
+ /**
+ * {@link PoolingConnectionFactory} must alway have a unique name so this method builds a reference to this object
+ * using the unique name as {@link javax.naming.RefAddr}.
+ * @return a reference to this {@link PoolingConnectionFactory}.
+ */
+ public Reference getReference() throws NamingException {
+ if (log.isDebugEnabled()) log.debug("creating new JNDI reference of " + this);
+ return new Reference(
+ PoolingConnectionFactory.class.getName(),
+ new StringRefAddr("uniqueName", getUniqueName()),
+ ResourceObjectFactory.class.getName(),
+ null);
+ }
+
+ /* management */
+
+ public long getInPoolSize() {
+ return pool.inPoolSize();
+ }
+
+ public long getTotalPoolSize() {
+ return pool.totalPoolSize();
+ }
+
+ public void reset() throws Exception {
+ pool.reset();
+ }
+}
diff --git a/src/bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.java b/src/bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.java
new file mode 100644
index 0000000..a5855a1
--- /dev/null
+++ b/src/bitronix/tm/resource/jms/PoolingConnectionFactoryMBean.java
@@ -0,0 +1,38 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.jms;
+
+/**
+ *
+ * @author lorban
+ */
+public interface PoolingConnectionFactoryMBean {
+
+ public int getMinPoolSize();
+ public int getMaxPoolSize();
+ public long getInPoolSize();
+ public long getTotalPoolSize();
+ public boolean isFailed();
+ public void reset() throws Exception;
+ public boolean isDisabled();
+ public void setDisabled(boolean disabled);
+
+}
diff --git a/src/bitronix/tm/resource/jms/TopicSubscriberWrapper.java b/src/bitronix/tm/resource/jms/TopicSubscriberWrapper.java
new file mode 100644
index 0000000..cabdaaa
--- /dev/null
+++ b/src/bitronix/tm/resource/jms/TopicSubscriberWrapper.java
@@ -0,0 +1,50 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.jms;
+
+import javax.jms.TopicSubscriber;
+import javax.jms.Topic;
+import javax.jms.JMSException;
+
+/**
+ * {@link TopicSubscriber} wrapper that adds XA enlistment semantics.
+ *
+ * @author lorban
+ */
+public class TopicSubscriberWrapper extends MessageConsumerWrapper implements TopicSubscriber {
+
+ public TopicSubscriberWrapper(TopicSubscriber topicSubscriber, DualSessionWrapper session, PoolingConnectionFactory poolingConnectionFactory) {
+ super(topicSubscriber, session, poolingConnectionFactory);
+ }
+
+ public Topic getTopic() throws JMSException {
+ return ((TopicSubscriber) getMessageConsumer()).getTopic();
+ }
+
+ public boolean getNoLocal() throws JMSException {
+ return ((TopicSubscriber) getMessageConsumer()).getNoLocal();
+ }
+
+ public String toString() {
+ return "a TopicSubscriberWrapper of " + session;
+ }
+
+}
diff --git a/src/bitronix/tm/resource/jms/lrc/LrcXAConnection.java b/src/bitronix/tm/resource/jms/lrc/LrcXAConnection.java
new file mode 100644
index 0000000..f722b2e
--- /dev/null
+++ b/src/bitronix/tm/resource/jms/lrc/LrcXAConnection.java
@@ -0,0 +1,89 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.jms.lrc;
+
+import javax.jms.*;
+
+/**
+ * XAConnection implementation for a non-XA JMS resource emulating XA with Last Resource Commit.
+ *
+ * @author lorban
+ */
+public class LrcXAConnection implements XAConnection {
+
+ private Connection nonXaConnection;
+
+ public LrcXAConnection(Connection connection) {
+ this.nonXaConnection = connection;
+ }
+
+ public XASession createXASession() throws JMSException {
+ return new LrcXASession(nonXaConnection.createSession(true, Session.AUTO_ACKNOWLEDGE));
+ }
+
+ public Session createSession(boolean transacted, int acknowledgeMode) throws JMSException {
+ throw new JMSException(LrcXAConnection.class.getName() + " can only respond to createXASession()");
+ }
+
+ public ConnectionConsumer createConnectionConsumer(Destination destination, String messageSelector, ServerSessionPool serverSessionPool, int maxMessages) throws JMSException {
+ return nonXaConnection.createConnectionConsumer(destination, messageSelector, serverSessionPool, maxMessages);
+ }
+
+ public ConnectionConsumer createDurableConnectionConsumer(Topic topic, String subscriptionName, String messageSelector, ServerSessionPool serverSessionPool, int maxMessages) throws JMSException {
+ return nonXaConnection.createDurableConnectionConsumer(topic, subscriptionName, messageSelector, serverSessionPool, maxMessages);
+ }
+
+ public String getClientID() throws JMSException {
+ return nonXaConnection.getClientID();
+ }
+
+ public void setClientID(String clientID) throws JMSException {
+ nonXaConnection.setClientID(clientID);
+ }
+
+ public ConnectionMetaData getMetaData() throws JMSException {
+ return nonXaConnection.getMetaData();
+ }
+
+ public ExceptionListener getExceptionListener() throws JMSException {
+ return nonXaConnection.getExceptionListener();
+ }
+
+ public void setExceptionListener(ExceptionListener exceptionListener) throws JMSException {
+ nonXaConnection.setExceptionListener(exceptionListener);
+ }
+
+ public void start() throws JMSException {
+ nonXaConnection.start();
+ }
+
+ public void stop() throws JMSException {
+ nonXaConnection.stop();
+ }
+
+ public void close() throws JMSException {
+ nonXaConnection.close();
+ }
+
+ public String toString() {
+ return "a JMS LrcXAConnection on " + nonXaConnection;
+ }
+}
diff --git a/src/bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.java b/src/bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.java
new file mode 100644
index 0000000..85b5384
--- /dev/null
+++ b/src/bitronix/tm/resource/jms/lrc/LrcXAConnectionFactory.java
@@ -0,0 +1,88 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.jms.lrc;
+
+import bitronix.tm.utils.ClassLoaderUtils;
+import bitronix.tm.utils.PropertyUtils;
+
+import javax.jms.XAConnectionFactory;
+import javax.jms.XAConnection;
+import javax.jms.JMSException;
+import javax.jms.ConnectionFactory;
+import java.util.Properties;
+
+/**
+ * XAConnectionFactory implementation for a non-XA JMS resource emulating XA with Last Resource Commit.
+ *
+ * @author lorban
+ */
+public class LrcXAConnectionFactory implements XAConnectionFactory {
+
+ private String connectionFactoryClassName;
+ private Properties properties = new Properties();
+
+ public LrcXAConnectionFactory() {
+ }
+
+ public String getConnectionFactoryClassName() {
+ return connectionFactoryClassName;
+ }
+
+ public void setConnectionFactoryClassName(String connectionFactoryClassName) {
+ this.connectionFactoryClassName = connectionFactoryClassName;
+ }
+
+ public Properties getProperties() {
+ return properties;
+ }
+
+ public void setProperties(Properties properties) {
+ this.properties = properties;
+ }
+
+ public XAConnection createXAConnection() throws JMSException {
+ try {
+ Class clazz = ClassLoaderUtils.loadClass(connectionFactoryClassName);
+ ConnectionFactory nonXaConnectionFactory = (ConnectionFactory) clazz.newInstance();
+ PropertyUtils.setProperties(nonXaConnectionFactory, properties);
+
+ return new LrcXAConnection(nonXaConnectionFactory.createConnection());
+ } catch (Exception ex) {
+ throw (JMSException) new JMSException("unable to connect to non-XA resource " + connectionFactoryClassName).initCause(ex);
+ }
+ }
+
+ public XAConnection createXAConnection(String user, String password) throws JMSException {
+ try {
+ Class clazz = ClassLoaderUtils.loadClass(connectionFactoryClassName);
+ ConnectionFactory nonXaConnectionFactory = (ConnectionFactory) clazz.newInstance();
+ PropertyUtils.setProperties(nonXaConnectionFactory, properties);
+
+ return new LrcXAConnection(nonXaConnectionFactory.createConnection(user, password));
+ } catch (Exception ex) {
+ throw (JMSException) new JMSException("unable to connect to non-XA resource " + connectionFactoryClassName).initCause(ex);
+ }
+ }
+
+ public String toString() {
+ return "a JMS LrcXAConnectionFactory on " + connectionFactoryClassName + " with properties " + properties;
+ }
+}
diff --git a/src/bitronix/tm/resource/jms/lrc/LrcXAResource.java b/src/bitronix/tm/resource/jms/lrc/LrcXAResource.java
new file mode 100644
index 0000000..e8c08ba
--- /dev/null
+++ b/src/bitronix/tm/resource/jms/lrc/LrcXAResource.java
@@ -0,0 +1,294 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.jms.lrc;
+
+import bitronix.tm.internal.BitronixXAException;
+import bitronix.tm.utils.Decoder;
+
+import javax.transaction.xa.XAResource;
+import javax.transaction.xa.XAException;
+import javax.transaction.xa.Xid;
+import javax.jms.Session;
+import javax.jms.JMSException;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * XAResource implementation for a non-XA JMS connection emulating XA with Last Resource Commit.
+ * <p>The XA protocol flow is implemented by this state machine:</p>
+ * <pre>
+ * NO_TX
+ * |
+ * | start(TMNOFLAGS)
+ * |
+ * | end(TMFAIL)
+ * STARTED -------------- NO_TX
+ * |
+ * | end(TMSUCCESS)
+ * |
+ * | start(TMJOIN)
+ * ENDED ---------------- STARTED
+ * |\
+ * | \ commit (one phase)
+ * | ----------------- NO_TX
+ * |
+ * | prepare()
+ * |
+ * | commit() or
+ * | rollback()
+ * PREPARED ------------- NO_TX
+ * </pre>
+ * {@link XAResource#TMSUSPEND} and {@link XAResource#TMRESUME} are not supported.
+ *
+ * @author lorban
+ */
+public class LrcXAResource implements XAResource {
+
+ private final static Logger log = LoggerFactory.getLogger(LrcXAResource.class);
+
+ public static final int NO_TX = 0;
+ public static final int STARTED = 1;
+ public static final int ENDED = 2;
+ public static final int PREPARED = 3;
+
+ private Session session;
+ private Xid xid;
+ private int state = NO_TX;
+
+ public LrcXAResource(Session session) {
+ this.session = session;
+ }
+
+
+ public int getState() {
+ return state;
+ }
+
+ private String xlatedState() {
+ switch (state) {
+ case NO_TX: return "NO_TX";
+ case STARTED: return "STARTED";
+ case ENDED: return "ENDED";
+ case PREPARED: return "PREPARED";
+ default: return "!invalid state (" + state + ")!";
+ }
+ }
+
+ public int getTransactionTimeout() throws XAException {
+ return 0;
+ }
+
+ public boolean setTransactionTimeout(int seconds) throws XAException {
+ return false;
+ }
+
+ public void forget(Xid xid) throws XAException {
+ }
+
+ public Xid[] recover(int flags) throws XAException {
+ return new Xid[0];
+ }
+
+ public boolean isSameRM(XAResource xaResource) throws XAException {
+ return xaResource == this;
+ }
+
+ public void start(Xid xid, int flag) throws XAException {
+ if (flag != XAResource.TMNOFLAGS && flag != XAResource.TMJOIN)
+ throw new BitronixXAException("unsupported start flag " + Decoder.decodeXAResourceFlag(flag), XAException.XAER_RMERR);
+ if (xid == null)
+ throw new BitronixXAException("XID cannot be null", XAException.XAER_INVAL);
+
+ if (state == NO_TX) {
+ if (this.xid != null)
+ throw new BitronixXAException("resource already started on XID " + this.xid, XAException.XAER_PROTO);
+ else {
+ if (flag == XAResource.TMJOIN)
+ throw new BitronixXAException("resource not yet started", XAException.XAER_PROTO);
+ else {
+ if (log.isDebugEnabled()) log.debug("OK to start, old state=" + xlatedState() + ", XID=" + xid + ", flag=" + Decoder.decodeXAResourceFlag(flag));
+ this.xid = xid;
+ }
+ }
+ }
+ else if (state == STARTED) {
+ throw new BitronixXAException("resource already started on XID " + this.xid, XAException.XAER_PROTO);
+ }
+ else if (state == ENDED) {
+ if (flag == XAResource.TMNOFLAGS)
+ throw new BitronixXAException("resource already registered XID " + this.xid, XAException.XAER_DUPID);
+ else {
+ if (xid.equals(this.xid)) {
+ if (log.isDebugEnabled()) log.debug("OK to join, old state=" + xlatedState() + ", XID=" + xid + ", flag=" + Decoder.decodeXAResourceFlag(flag));
+ }
+ else
+ throw new BitronixXAException("resource already started on XID " + this.xid + " - cannot start it on more than one XID at a time", XAException.XAER_RMERR);
+ }
+ }
+ else if (state == PREPARED) {
+ throw new BitronixXAException("resource already prepared on XID " + this.xid, XAException.XAER_PROTO);
+ }
+
+ this.state = STARTED;
+ }
+
+ public void end(Xid xid, int flag) throws XAException {
+ if (flag != XAResource.TMSUCCESS && flag != XAResource.TMFAIL)
+ throw new BitronixXAException("unsupported end flag " + Decoder.decodeXAResourceFlag(flag), XAException.XAER_RMERR);
+ if (xid == null)
+ throw new BitronixXAException("XID cannot be null", XAException.XAER_INVAL);
+
+ if (state == NO_TX) {
+ throw new BitronixXAException("resource never started on XID " + xid, XAException.XAER_PROTO);
+ }
+ else if (state == STARTED) {
+ if (this.xid.equals(xid)) {
+ if (log.isDebugEnabled()) log.debug("OK to end, old state=" + xlatedState() + ", XID=" + xid + ", flag=" + Decoder.decodeXAResourceFlag(flag));
+ }
+ else
+ throw new BitronixXAException("resource already started on XID " + this.xid + " - cannot end it on another XID " + xid, XAException.XAER_PROTO);
+ }
+ else if (state == ENDED) {
+ throw new BitronixXAException("resource already ended on XID " + xid, XAException.XAER_PROTO);
+ }
+ else if (state == PREPARED) {
+ throw new BitronixXAException("cannot end, resource already prepared on XID " + xid, XAException.XAER_PROTO);
+ }
+
+ if (flag == XAResource.TMFAIL) {
+ try {
+ session.rollback();
+ state = NO_TX;
+ this.xid = null;
+ return;
+ } catch (JMSException ex) {
+ throw new BitronixXAException("error rolling back resource on end", XAException.XAER_RMERR, ex);
+ }
+ }
+
+ this.state = ENDED;
+ }
+
+ public int prepare(Xid xid) throws XAException {
+ if (xid == null)
+ throw new BitronixXAException("XID cannot be null", XAException.XAER_INVAL);
+
+ if (state == NO_TX) {
+ throw new BitronixXAException("resource never started on XID " + xid, XAException.XAER_PROTO);
+ }
+ else if (state == STARTED) {
+ throw new BitronixXAException("resource never ended on XID " + xid, XAException.XAER_PROTO);
+ }
+ else if (state == ENDED) {
+ if (this.xid.equals(xid)) {
+ if (log.isDebugEnabled()) log.debug("OK to prepare, old state=" + xlatedState() + ", XID=" + xid);
+ }
+ else
+ throw new BitronixXAException("resource already started on XID " + this.xid + " - cannot prepare it on another XID " + xid, XAException.XAER_PROTO);
+ }
+ else if (state == PREPARED) {
+ throw new BitronixXAException("resource already prepared on XID " + this.xid, XAException.XAER_PROTO);
+ }
+
+ try {
+ session.commit();
+ this.state = PREPARED;
+ return XAResource.XA_OK;
+ } catch (JMSException ex) {
+ throw new BitronixXAException("error preparing non-XA resource", XAException.XAER_RMERR, ex);
+ }
+ }
+
+ public void commit(Xid xid, boolean onePhase) throws XAException {
+ if (xid == null)
+ throw new BitronixXAException("XID cannot be null", XAException.XAER_INVAL);
+
+ if (state == NO_TX) {
+ throw new BitronixXAException("resource never started on XID " + xid, XAException.XAER_PROTO);
+ }
+ else if (state == STARTED) {
+ throw new BitronixXAException("resource never ended on XID " + xid, XAException.XAER_PROTO);
+ }
+ else if (state == ENDED) {
+ if (onePhase) {
+ if (log.isDebugEnabled()) log.debug("OK to commit with 1PC, old state=" + xlatedState() + ", XID=" + xid);
+ try {
+ session.commit();
+ } catch (JMSException ex) {
+ throw new BitronixXAException("error committing (one phase) non-XA resource", XAException.XAER_RMERR, ex);
+ }
+ }
+ else
+ throw new BitronixXAException("resource never prepared on XID " + xid, XAException.XAER_PROTO);
+ }
+ else if (state == PREPARED) {
+ if (!onePhase) {
+ if (this.xid.equals(xid)) {
+ if (log.isDebugEnabled()) log.debug("OK to commit, old state=" + xlatedState() + ", XID=" + xid);
+ }
+ else
+ throw new BitronixXAException("resource already started on XID " + this.xid + " - cannot commit it on another XID " + xid, XAException.XAER_PROTO);
+ }
+ else
+ throw new BitronixXAException("cannot commit in one phase as resource has been prepared on XID " + xid, XAException.XAER_PROTO);
+ }
+
+ this.state = NO_TX;
+ this.xid = null;
+ }
+
+ public void rollback(Xid xid) throws XAException {
+ if (xid == null)
+ throw new BitronixXAException("XID cannot be null", XAException.XAER_INVAL);
+
+ if (state == NO_TX) {
+ throw new BitronixXAException("resource never started on XID " + xid, XAException.XAER_PROTO);
+ }
+ else if (state == STARTED) {
+ throw new BitronixXAException("resource never ended on XID " + xid, XAException.XAER_PROTO);
+ }
+ else if (state == ENDED) {
+ if (this.xid.equals(xid)) {
+ if (log.isDebugEnabled()) log.debug("OK to rollback, old state=" + xlatedState() + ", XID=" + xid);
+ }
+ else
+ throw new BitronixXAException("resource already started on XID " + this.xid + " - cannot roll it back on another XID " + xid, XAException.XAER_PROTO);
+ }
+ else if (state == PREPARED) {
+ this.state = NO_TX;
+ throw new BitronixXAException("resource committed during prepare on XID " + this.xid, XAException.XA_HEURCOM);
+ }
+
+ try {
+ session.rollback();
+ } catch (JMSException ex) {
+ throw new BitronixXAException("error preparing non-XA resource", XAException.XAER_RMERR, ex);
+ } finally {
+ this.state = NO_TX;
+ this.xid = null;
+ }
+ }
+
+ public String toString() {
+ return "a JMS LrcXAResource in state " + xlatedState() + " of session " + session;
+ }
+}
diff --git a/src/bitronix/tm/resource/jms/lrc/LrcXASession.java b/src/bitronix/tm/resource/jms/lrc/LrcXASession.java
new file mode 100644
index 0000000..3bb1cce
--- /dev/null
+++ b/src/bitronix/tm/resource/jms/lrc/LrcXASession.java
@@ -0,0 +1,180 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.jms.lrc;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.jms.*;
+import javax.transaction.xa.XAResource;
+import java.io.Serializable;
+
+/**
+ * XASession implementation for a non-XA JMS resource emulating XA with Last Resource Commit.
+ *
+ * @author lorban
+ */
+public class LrcXASession implements XASession {
+
+ private final static Logger log = LoggerFactory.getLogger(LrcXASession.class);
+
+ private final Session nonXaSession;
+ private final XAResource xaResource;
+
+ public LrcXASession(Session session) {
+ this.nonXaSession = session;
+ this.xaResource = new LrcXAResource(session);
+ if (log.isDebugEnabled()) log.debug("creating new LrcXASession with " + xaResource);
+ }
+
+
+ public Session getSession() throws JMSException {
+ return nonXaSession;
+ }
+
+ public XAResource getXAResource() {
+ return xaResource;
+ }
+
+ public BytesMessage createBytesMessage() throws JMSException {
+ return nonXaSession.createBytesMessage();
+ }
+
+ public MapMessage createMapMessage() throws JMSException {
+ return nonXaSession.createMapMessage();
+ }
+
+ public Message createMessage() throws JMSException {
+ return nonXaSession.createMessage();
+ }
+
+ public ObjectMessage createObjectMessage() throws JMSException {
+ return nonXaSession.createObjectMessage();
+ }
+
+ public ObjectMessage createObjectMessage(Serializable serializable) throws JMSException {
+ return nonXaSession.createObjectMessage(serializable);
+ }
+
+ public StreamMessage createStreamMessage() throws JMSException {
+ return nonXaSession.createStreamMessage();
+ }
+
+ public TextMessage createTextMessage() throws JMSException {
+ return nonXaSession.createTextMessage();
+ }
+
+ public TextMessage createTextMessage(String text) throws JMSException {
+ return nonXaSession.createTextMessage(text);
+ }
+
+ public boolean getTransacted() throws JMSException {
+ return nonXaSession.getTransacted();
+ }
+
+ public int getAcknowledgeMode() throws JMSException {
+ return nonXaSession.getAcknowledgeMode();
+ }
+
+ public void commit() throws JMSException {
+ nonXaSession.commit();
+ }
+
+ public void rollback() throws JMSException {
+ nonXaSession.rollback();
+ }
+
+ public void close() throws JMSException {
+ nonXaSession.close();
+ }
+
+ public void recover() throws JMSException {
+ nonXaSession.recover();
+ }
+
+ public MessageListener getMessageListener() throws JMSException {
+ return nonXaSession.getMessageListener();
+ }
+
+ public void setMessageListener(MessageListener messageListener) throws JMSException {
+ nonXaSession.setMessageListener(messageListener);
+ }
+
+ public void run() {
+ nonXaSession.run();
+ }
+
+ public MessageProducer createProducer(Destination destination) throws JMSException {
+ return nonXaSession.createProducer(destination);
+ }
+
+ public MessageConsumer createConsumer(Destination destination) throws JMSException {
+ return nonXaSession.createConsumer(destination);
+ }
+
+ public MessageConsumer createConsumer(Destination destination, String messageSelector) throws JMSException {
+ return nonXaSession.createConsumer(destination, messageSelector);
+ }
+
+ public MessageConsumer createConsumer(Destination destination, String messageSelector, boolean noLocal) throws JMSException {
+ return nonXaSession.createConsumer(destination, messageSelector, noLocal);
+ }
+
+ public Queue createQueue(String queueName) throws JMSException {
+ return nonXaSession.createQueue(queueName);
+ }
+
+ public Topic createTopic(String topicName) throws JMSException {
+ return nonXaSession.createTopic(topicName);
+ }
+
+ public TopicSubscriber createDurableSubscriber(Topic topic, String name) throws JMSException {
+ return nonXaSession.createDurableSubscriber(topic, name);
+ }
+
+ public TopicSubscriber createDurableSubscriber(Topic topic, String name, String messageSelector, boolean noLocal) throws JMSException {
+ return nonXaSession.createDurableSubscriber(topic, name, messageSelector, noLocal);
+ }
+
+ public QueueBrowser createBrowser(Queue queue) throws JMSException {
+ return nonXaSession.createBrowser(queue);
+ }
+
+ public QueueBrowser createBrowser(Queue queue, String messageSelector) throws JMSException {
+ return nonXaSession.createBrowser(queue, messageSelector);
+ }
+
+ public TemporaryQueue createTemporaryQueue() throws JMSException {
+ return nonXaSession.createTemporaryQueue();
+ }
+
+ public TemporaryTopic createTemporaryTopic() throws JMSException {
+ return nonXaSession.createTemporaryTopic();
+ }
+
+ public void unsubscribe(String name) throws JMSException {
+ nonXaSession.unsubscribe(name);
+ }
+
+ public String toString() {
+ return "a JMS LrcXASession on " + nonXaSession;
+ }
+}
diff --git a/src/bitronix/tm/resource/jms/lrc/package.html b/src/bitronix/tm/resource/jms/lrc/package.html
new file mode 100644
index 0000000..228c0fa
--- /dev/null
+++ b/src/bitronix/tm/resource/jms/lrc/package.html
@@ -0,0 +1,10 @@
+<html>
+<body>
+ <p>
+ XAConnectionFactory emulator using Last Resource Commit on an underlying non-XA ConnectionFactory.
+ Note that if you use the classes of this package you have accepted the heuristic hazard. A crash
+ during commit of a connection returned by this connection factory could lead to an inconsistent global state.
+ This is a limitation of the Last Resource Commit technique, not of BTM.
+ </p>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/bitronix/tm/resource/jms/package.html b/src/bitronix/tm/resource/jms/package.html
new file mode 100644
index 0000000..4f6f6ad
--- /dev/null
+++ b/src/bitronix/tm/resource/jms/package.html
@@ -0,0 +1,7 @@
+<html>
+<body>
+ <p>
+ Synchronous JMS specific resource management code.
+ </p>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/bitronix/tm/resource/package.html b/src/bitronix/tm/resource/package.html
new file mode 100644
index 0000000..77c2698
--- /dev/null
+++ b/src/bitronix/tm/resource/package.html
@@ -0,0 +1,7 @@
+<html>
+<body>
+ <p>
+ Transaction Manager's resource management services.
+ </p>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/bitronix/tm/timer/PoolShrinkingTask.java b/src/bitronix/tm/timer/PoolShrinkingTask.java
new file mode 100644
index 0000000..b2e4569
--- /dev/null
+++ b/src/bitronix/tm/timer/PoolShrinkingTask.java
@@ -0,0 +1,59 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.timer;
+
+import bitronix.tm.resource.common.XAPool;
+
+import java.util.Date;
+
+/**
+ * This task is used to notify a XA pool to close idle connections.
+ *
+ * @author lorban
+ */
+public class PoolShrinkingTask extends Task {
+
+ private XAPool xaPool;
+
+ public PoolShrinkingTask(XAPool xaPool, Date executionTime, TaskScheduler scheduler) {
+ super(executionTime, scheduler);
+ this.xaPool = xaPool;
+ }
+
+ public Object getObject() {
+ return xaPool;
+ }
+
+ public void execute() throws TaskException {
+ try {
+ xaPool.shrink();
+ } catch (Exception ex) {
+ throw new TaskException("error while trying to shrink " + xaPool, ex);
+ } finally {
+ getTaskScheduler().schedulePoolShrinking(xaPool);
+ }
+ }
+
+ public String toString() {
+ return "a PoolShrinkingTask scheduled for " + getExecutionTime() + " on " + xaPool;
+ }
+
+}
diff --git a/src/bitronix/tm/timer/RecoveryTask.java b/src/bitronix/tm/timer/RecoveryTask.java
new file mode 100644
index 0000000..c11e148
--- /dev/null
+++ b/src/bitronix/tm/timer/RecoveryTask.java
@@ -0,0 +1,67 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.timer;
+
+import bitronix.tm.TransactionManagerServices;
+import bitronix.tm.recovery.Recoverer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Date;
+
+/**
+ * This task is used to run the background recovery.
+ *
+ * @author lorban
+ */
+public class RecoveryTask extends Task {
+
+ private final static Logger log = LoggerFactory.getLogger(RecoveryTask.class);
+
+ private Recoverer recoverer;
+
+ public RecoveryTask(Recoverer recoverer, Date executionTime, TaskScheduler scheduler) {
+ super(executionTime, scheduler);
+ this.recoverer = recoverer;
+ }
+
+ public Object getObject() {
+ return recoverer;
+ }
+
+ public void execute() throws TaskException {
+ if (log.isDebugEnabled()) log.debug("running recovery");
+ Thread recovery = new Thread(recoverer);
+ recovery.setName("bitronix-recovery-thread");
+ recovery.setDaemon(true);
+ recovery.setPriority(Thread.NORM_PRIORITY -1);
+ recovery.start();
+
+ Date nextExecutionDate = new Date(getExecutionTime().getTime() + (TransactionManagerServices.getConfiguration().getBackgroundRecoveryIntervalSeconds() * 1000L));
+ if (log.isDebugEnabled()) log.debug("rescheduling recovery for " + nextExecutionDate);
+ getTaskScheduler().scheduleRecovery(recoverer, nextExecutionDate);
+ }
+
+ public String toString() {
+ return "a RecoveryTask scheduled for " + getExecutionTime();
+ }
+
+}
diff --git a/src/bitronix/tm/timer/Task.java b/src/bitronix/tm/timer/Task.java
new file mode 100644
index 0000000..ce0395d
--- /dev/null
+++ b/src/bitronix/tm/timer/Task.java
@@ -0,0 +1,56 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.timer;
+
+import java.util.Date;
+
+/**
+ * Asbtract superclass of all timed tasks.
+ *
+ * @author lorban
+ */
+public abstract class Task {
+
+ private Date executionTime;
+ private TaskScheduler taskScheduler;
+
+ protected Task(Date executionTime, TaskScheduler scheduler) {
+ this.executionTime = executionTime;
+ this.taskScheduler = scheduler;
+ }
+
+ public Date getExecutionTime() {
+ return executionTime;
+ }
+
+ public void setExecutionTime(Date executionTime) {
+ this.executionTime = executionTime;
+ }
+
+ protected TaskScheduler getTaskScheduler() {
+ return taskScheduler;
+ }
+
+ public abstract Object getObject();
+
+ public abstract void execute() throws TaskException;
+
+}
diff --git a/src/bitronix/tm/timer/TaskException.java b/src/bitronix/tm/timer/TaskException.java
new file mode 100644
index 0000000..9826e1e
--- /dev/null
+++ b/src/bitronix/tm/timer/TaskException.java
@@ -0,0 +1,32 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.timer;
+
+/**
+ * Thrown when an error occurs during the execution of a task.
+ *
+ * @author lorban
+ */
+public class TaskException extends Exception {
+ public TaskException(String message, Throwable cause) {
+ super(message, cause);
+ }
+}
diff --git a/src/bitronix/tm/timer/TaskScheduler.java b/src/bitronix/tm/timer/TaskScheduler.java
new file mode 100644
index 0000000..f1d2f5e
--- /dev/null
+++ b/src/bitronix/tm/timer/TaskScheduler.java
@@ -0,0 +1,230 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.timer;
+
+import bitronix.tm.BitronixTransaction;
+import bitronix.tm.TransactionManagerServices;
+import bitronix.tm.recovery.Recoverer;
+import bitronix.tm.resource.common.XAPool;
+import bitronix.tm.utils.Service;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.*;
+
+/**
+ * Timed tasks service.
+ *
+ * @author lorban
+ */
+public class TaskScheduler extends Thread implements Service {
+
+ private final static Logger log = LoggerFactory.getLogger(TaskScheduler.class);
+
+ private final List tasks = Collections.synchronizedList(new ArrayList());
+ private volatile boolean active = true;
+
+ public TaskScheduler() {
+ // it is up to the ShutdownHandler to control the lifespan of the JVM and give some time for this thread
+ // to die gracefully, meaning enough time for all tasks to get executed. This is why it is set as daemon.
+ setDaemon(true);
+ setName("bitronix-scheduler");
+ }
+
+ /**
+ * Get the amount of tasks currently queued.
+ * @return the amount of tasks currently queued.
+ */
+ public int countTasksQueued() {
+ return tasks.size();
+ }
+
+ public synchronized void shutdown() {
+ try {
+ long gracefulShutdownTime = TransactionManagerServices.getConfiguration().getGracefulShutdownInterval() * 1000;
+ if (log.isDebugEnabled()) log.debug("graceful scheduler shutdown interval: " + gracefulShutdownTime + "ms");
+ setActive(false);
+ join(gracefulShutdownTime);
+ } catch (InterruptedException ex) {
+ log.error("could not stop the task scheduler within " + TransactionManagerServices.getConfiguration().getGracefulShutdownInterval() + "s");
+ }
+ }
+
+ /**
+ * Schedule a task that will mark the transaction as timed out at the specified date. If this method is called
+ * with the same transaction multiple times, the previous timeout date is dropped and replaced by the new one.
+ * @param transaction the transaction to mark as timeout.
+ * @param executionTime the date at which the transaction must be marked.
+ */
+ public void scheduleTransactionTimeout(BitronixTransaction transaction, Date executionTime) {
+ if (log.isDebugEnabled()) log.debug("scheduling transaction timeout task on " + transaction + " for " + executionTime);
+ if (transaction == null)
+ throw new IllegalArgumentException("expected a non-null transaction");
+ if (executionTime == null)
+ throw new IllegalArgumentException("expected a non-null execution date");
+
+ TransactionTimeoutTask task = new TransactionTimeoutTask(transaction, executionTime, this);
+ addTask(task);
+ if (log.isDebugEnabled()) log.debug("scheduled " + task + ", total task(s) queued: " + tasks.size());
+ }
+
+ /**
+ * Cancel the task that will mark the transaction as timed out at the specified date.
+ * @param transaction the transaction to mark as timeout.
+ */
+ public void cancelTransactionTimeout(BitronixTransaction transaction) {
+ if (log.isDebugEnabled()) log.debug("cancelling transaction timeout task on " + transaction);
+ if (transaction == null)
+ throw new IllegalArgumentException("expected a non-null transaction");
+
+ if (!removeTaskByObject(transaction))
+ if (log.isDebugEnabled()) log.debug("no task found based on object " + transaction);
+ }
+
+ /**
+ * Schedule a task that will run background recovery at the specified date.
+ * @param recoverer the recovery implementation to use.
+ * @param executionTime the date at which the transaction must be marked.
+ */
+ public void scheduleRecovery(Recoverer recoverer, Date executionTime) {
+ if (log.isDebugEnabled()) log.debug("scheduling recovery task for " + executionTime);
+ if (recoverer == null)
+ throw new IllegalArgumentException("expected a non-null recoverer");
+ if (executionTime == null)
+ throw new IllegalArgumentException("expected a non-null execution date");
+
+ RecoveryTask task = new RecoveryTask(recoverer, executionTime, this);
+ addTask(task);
+ if (log.isDebugEnabled()) log.debug("scheduled " + task + ", total task(s) queued: " + tasks.size());
+ }
+
+ /**
+ * Cancel the task that will run background recovery at the specified date.
+ * @param recoverer the recovery implementation to use.
+ */
+ public void cancelRecovery(Recoverer recoverer) {
+ if (log.isDebugEnabled()) log.debug("cancelling recovery task");
+
+ if (!removeTaskByObject(recoverer))
+ if (log.isDebugEnabled()) log.debug("no task found based on object " + recoverer);
+ }
+
+ /**
+ * Schedule a task that will tell a XA pool to close idle connections. The execution time will be provided by the
+ * XA pool itself via the {@link bitronix.tm.resource.common.XAPool#getNextShrinkDate()}.
+ * @param xaPool the XA pool to notify.
+ */
+ public void schedulePoolShrinking(XAPool xaPool) {
+ Date executionTime = xaPool.getNextShrinkDate();
+ if (log.isDebugEnabled()) log.debug("scheduling pool shrinking task on " + xaPool + " for " + executionTime);
+ if (executionTime == null)
+ throw new IllegalArgumentException("expected a non-null execution date");
+
+ PoolShrinkingTask task = new PoolShrinkingTask(xaPool, executionTime, this);
+ addTask(task);
+ if (log.isDebugEnabled()) log.debug("scheduled " + task + ", total task(s) queued: " + tasks.size());
+ }
+
+ /**
+ * Cancel the task that will tell a XA pool to close idle connections.
+ * @param xaPool the XA pool to notify.
+ */
+ public void cancelPoolShrinking(XAPool xaPool) {
+ if (log.isDebugEnabled()) log.debug("cancelling pool shrinking task on " + xaPool);
+ if (xaPool == null)
+ throw new IllegalArgumentException("expected a non-null XA pool");
+
+ if (!removeTaskByObject(xaPool))
+ if (log.isDebugEnabled()) log.debug("no task found based on object " + xaPool);
+ }
+
+ private void addTask(Task task) {
+ synchronized (tasks) {
+ removeTaskByObject(task.getObject());
+ tasks.add(task);
+ }
+ }
+
+ private boolean removeTaskByObject(Object obj) {
+ synchronized (tasks) {
+ if (log.isDebugEnabled()) log.debug("removing task by " + obj);
+ for (int i = 0; i < tasks.size(); i++) {
+ Task task = (Task) tasks.get(i);
+
+ if (task.getObject() == obj) {
+ tasks.remove(task);
+ if (log.isDebugEnabled()) log.debug("cancelled " + task + ", total task(s) still queued: " + tasks.size());
+ return true;
+ }
+ }
+ return false;
+ }
+ }
+
+ void setActive(boolean active) {
+ this.active = active;
+ }
+
+ private boolean isActive() {
+ return active;
+ }
+
+ public void run() {
+ while (isActive()) {
+ try {
+ executeElapsedTasks();
+ Thread.sleep(500); // execute twice per second. That's enough precision.
+ } catch (InterruptedException ex) {
+ // ignore
+ }
+ } // while
+ }
+
+ private void executeElapsedTasks() {
+ if (this.tasks.size() == 0)
+ return;
+
+ // Copying a collection means iterating it so this block must be synchronized
+ List tasks;
+ synchronized (this.tasks) {
+ tasks = new ArrayList(this.tasks);
+ }
+
+ Iterator it = tasks.iterator();
+ while (it.hasNext()) {
+ Task task = (Task) it.next();
+ if (task.getExecutionTime().compareTo(new Date()) <= 0) { // if the execution time is now or in the past
+ if (log.isDebugEnabled()) log.debug("running " + task);
+ try {
+ task.execute();
+ if (log.isDebugEnabled()) log.debug("successfully ran " + task);
+ } catch (Exception ex) {
+ log.warn("error running " + task, ex);
+ } finally {
+ this.tasks.remove(task);
+ if (log.isDebugEnabled()) log.debug("total task(s) still queued: " + tasks.size());
+ }
+ } // if
+ } // while
+
+ }
+
+}
diff --git a/src/bitronix/tm/timer/TransactionTimeoutTask.java b/src/bitronix/tm/timer/TransactionTimeoutTask.java
new file mode 100644
index 0000000..6ac3ce1
--- /dev/null
+++ b/src/bitronix/tm/timer/TransactionTimeoutTask.java
@@ -0,0 +1,63 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.timer;
+
+import bitronix.tm.BitronixTransaction;
+import bitronix.tm.internal.BitronixSystemException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Date;
+
+/**
+ * This task is used to mark a transaction as timed-out.
+ *
+ * @author lorban
+ */
+public class TransactionTimeoutTask extends Task {
+
+ private final static Logger log = LoggerFactory.getLogger(TransactionTimeoutTask.class);
+
+ private BitronixTransaction transaction;
+
+ public TransactionTimeoutTask(BitronixTransaction transaction, Date executionTime, TaskScheduler scheduler) {
+ super(executionTime, scheduler);
+ this.transaction = transaction;
+ }
+
+ public Object getObject() {
+ return transaction;
+ }
+
+ public void execute() throws TaskException {
+ try {
+ if (log.isDebugEnabled()) log.debug("marking " + transaction + " as timed out");
+ transaction.timeout();
+ } catch (BitronixSystemException ex) {
+ throw new TaskException("failed to timeout " + transaction, ex);
+ }
+ }
+
+ public String toString() {
+ return "a TransactionTimeoutTask on " + transaction + " scheduled for " + getExecutionTime();
+ }
+
+}
diff --git a/src/bitronix/tm/timer/package.html b/src/bitronix/tm/timer/package.html
new file mode 100644
index 0000000..d37f0db
--- /dev/null
+++ b/src/bitronix/tm/timer/package.html
@@ -0,0 +1,7 @@
+<html>
+<body>
+ <p>
+ Timed tasks scheduler.
+ </p>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/bitronix/tm/twopc/AbstractPhaseEngine.java b/src/bitronix/tm/twopc/AbstractPhaseEngine.java
new file mode 100644
index 0000000..fd61c22
--- /dev/null
+++ b/src/bitronix/tm/twopc/AbstractPhaseEngine.java
@@ -0,0 +1,234 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.twopc;
+
+import bitronix.tm.internal.XAResourceManager;
+import bitronix.tm.internal.XAResourceHolderState;
+import bitronix.tm.twopc.executor.Job;
+import bitronix.tm.twopc.executor.Executor;
+import bitronix.tm.utils.Decoder;
+import bitronix.tm.utils.CollectionUtils;
+
+import javax.transaction.xa.XAException;
+import java.util.*;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Abstract phase execution engine.
+ *
+ * @author lorban
+ */
+public abstract class AbstractPhaseEngine {
+
+ private final static Logger log = LoggerFactory.getLogger(AbstractPhaseEngine.class);
+
+ private Executor executor;
+
+ protected AbstractPhaseEngine(Executor executor) {
+ this.executor = executor;
+ }
+
+ /**
+ * Execute the phase. Resources receive the phase command in position order (reversed or not). If there is more than
+ * once resource in a position, command is sent in enlistment order (again reversed or not).
+ * If {@link bitronix.tm.Configuration#isAsynchronous2Pc()} is true, all commands in a given position are sent
+ * in parallel by using the detected {@link Executor} implementation.
+ * @param resourceManager the {@link XAResourceManager} containing the enlisted resources to execute the phase on.
+ * @param reverse true if jobs should be executed in reverse position / enlistment order, false for natural position / enlistment order.
+ * @throws PhaseException if one or more resource threw an exception during phase execution.
+ * @see bitronix.tm.twopc.executor.SyncExecutor
+ * @see bitronix.tm.twopc.executor.SimpleAsyncExecutor
+ * @see bitronix.tm.twopc.executor.ConcurrentExecutor
+ * @see bitronix.tm.twopc.executor.BackportConcurrentExecutor
+ */
+ protected void executePhase(XAResourceManager resourceManager, boolean reverse) throws PhaseException {
+ SortedSet positions;
+ if (reverse) {
+ positions = resourceManager.getReverseOrderPositions();
+ if (log.isDebugEnabled()) log.debug("executing phase on " + resourceManager.size() + " resource(s) enlisted in " + positions.size() + " position(s) in reverse position order");
+ }
+ else {
+ positions = resourceManager.getNaturalOrderPositions();
+ if (log.isDebugEnabled()) log.debug("executing phase on " + resourceManager.size() + " resource(s) enlisted in " + positions.size() + " position(s) in natural position order");
+ }
+
+ List positionErrorReports = new ArrayList();
+
+ Iterator it = positions.iterator();
+ while (it.hasNext()) {
+ Object positionKey = it.next();
+
+ List resources;
+ if (reverse) {
+ resources = resourceManager.getReverseOrderResourcesForPosition(positionKey);
+ }
+ else {
+ resources = resourceManager.getNaturalOrderResourcesForPosition(positionKey);
+ }
+
+ if (log.isDebugEnabled()) log.debug("running " + resources.size() + " job(s) for position '" + positionKey + "'");
+ JobsExecutionReport report = runJobsForPosition(resources);
+ if (report.getExceptions().size() > 0) {
+ if (log.isDebugEnabled()) log.debug(report.getExceptions().size() + " error(s) happened during execution of position '" + positionKey + "'");
+ positionErrorReports.add(report);
+ break;
+ }
+ if (log.isDebugEnabled()) log.debug("ran " + resources.size() + " job(s) for position '" + positionKey + "'");
+ }
+
+ if (positionErrorReports.size() > 0) {
+ // merge all resources and exceptions lists
+ List exceptions = new ArrayList();
+ List resources = new ArrayList();
+
+ for (int i = 0; i < positionErrorReports.size(); i++) {
+ JobsExecutionReport report = (JobsExecutionReport) positionErrorReports.get(i);
+ exceptions.addAll(report.getExceptions());
+ resources.addAll(report.getResources());
+ }
+
+ throw new PhaseException(exceptions, resources);
+ }
+ }
+
+ private JobsExecutionReport runJobsForPosition(List resources) {
+ Iterator it = resources.iterator();
+ List jobs = new ArrayList();
+ List exceptions = new ArrayList();
+ List errorResources = new ArrayList();
+
+ // start threads
+ while (it.hasNext()) {
+ XAResourceHolderState resourceHolderState = (XAResourceHolderState) it.next();
+ if (!isParticipating(resourceHolderState)) {
+ if (log.isDebugEnabled()) log.debug("skipping not participating resource " + resourceHolderState);
+ continue;
+ }
+
+ Job job = createJob(resourceHolderState);
+ Object future = executor.submit(job);
+ job.setFuture(future);
+ jobs.add(job);
+ }
+
+ // wait for threads to finish and check results
+ for (int i = 0; i < jobs.size(); i++) {
+ Job job = (Job) jobs.get(i);
+
+ Object future = job.getFuture();
+ while (!executor.isDone(future)) {
+ executor.waitFor(future, 1000L);
+ }
+
+ XAException xaException = job.getXAException();
+ RuntimeException runtimeException = job.getRuntimeException();
+
+ if (xaException != null) {
+ if (log.isDebugEnabled()) log.debug("error executing " + job + ", errorCode=" + Decoder.decodeXAExceptionErrorCode(xaException));
+ exceptions.add(xaException);
+ errorResources.add(job.getResource());
+ } else if (runtimeException != null) {
+ if (log.isDebugEnabled()) log.debug("error executing " + job);
+ exceptions.add(runtimeException);
+ errorResources.add(job.getResource());
+ }
+ }
+
+ if (log.isDebugEnabled()) log.debug("phase executed with " + exceptions.size() + " exception(s)");
+ return new JobsExecutionReport(exceptions, errorResources);
+ }
+
+ /**
+ * Determine if a resource is participating in the phase or not. A participating resource gets
+ * a job created to execute the phase's command on it.
+ * @param xaResourceHolderState the resource to check for its participation.
+ * @return true if the resource must participate in the phase.
+ */
+ protected abstract boolean isParticipating(XAResourceHolderState xaResourceHolderState);
+
+ /**
+ * Create a {@link Job} that is going to execute the phase command on the given resource.
+ * @param xaResourceHolderState the resource that is going to receive a command.
+ * @return the {@link Job} that is going to execute the command.
+ */
+ protected abstract Job createJob(XAResourceHolderState xaResourceHolderState);
+
+ /**
+ * Log exceptions that happened during a phase failure.
+ * @param ex the phase exception.
+ */
+ protected void logFailedResources(PhaseException ex) {
+ List exceptions = ex.getExceptions();
+ List resources = ex.getResourceStates();
+
+ for (int i = 0; i < exceptions.size(); i++) {
+ Throwable t = (Throwable) exceptions.get(i);
+ XAResourceHolderState holderState = (XAResourceHolderState) resources.get(i);
+ log.error("resource " + holderState.getUniqueName() + " failed on " + holderState.getXid(), t);
+ }
+ }
+
+ protected static Set collectResourcesUniqueNames(List resources) {
+ Set uniqueNames = new HashSet();
+
+ for (int i = 0; i < resources.size(); i++) {
+ XAResourceHolderState resourceHolderState = (XAResourceHolderState) resources.get(i);
+ String uniqueName = resourceHolderState.getUniqueName();
+ uniqueNames.add(uniqueName);
+ }
+
+ return uniqueNames;
+ }
+
+ protected static List collectNotInterestedResources(List allResources, List interestedResources) {
+ List result = new ArrayList();
+
+ for (int i = 0; i < allResources.size(); i++) {
+ XAResourceHolderState resourceHolderState = (XAResourceHolderState) allResources.get(i);
+
+ if (!CollectionUtils.containsByIdentity(interestedResources, resourceHolderState))
+ result.add(resourceHolderState);
+ }
+
+ return result;
+ }
+
+ private final static class JobsExecutionReport {
+ private List exceptions;
+ private List resources;
+
+ private JobsExecutionReport(List exceptions, List resources) {
+ this.exceptions = exceptions;
+ this.resources = resources;
+ }
+
+ public List getExceptions() {
+ return exceptions;
+ }
+
+ public List getResources() {
+ return resources;
+ }
+ }
+
+}
diff --git a/src/bitronix/tm/twopc/Committer.java b/src/bitronix/tm/twopc/Committer.java
new file mode 100644
index 0000000..9f6e1b0
--- /dev/null
+++ b/src/bitronix/tm/twopc/Committer.java
@@ -0,0 +1,246 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.twopc;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import bitronix.tm.BitronixTransaction;
+import bitronix.tm.utils.Decoder;
+import bitronix.tm.twopc.executor.Executor;
+import bitronix.tm.twopc.executor.Job;
+import bitronix.tm.internal.*;
+
+import javax.transaction.HeuristicMixedException;
+import javax.transaction.HeuristicRollbackException;
+import javax.transaction.Status;
+import javax.transaction.xa.XAException;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Collections;
+
+/**
+ * Phase 2 Commit logic engine.
+ *
+ * @author lorban
+ */
+public class Committer extends AbstractPhaseEngine {
+
+ private final static Logger log = LoggerFactory.getLogger(Committer.class);
+
+ private boolean onePhase;
+ private List interestedResources;
+ // this list has to be thread-safe as the CommitJobs can be executed in parallel (when async 2PC is configured)
+ private final List committedResources = Collections.synchronizedList(new ArrayList());
+
+
+ public Committer(Executor executor) {
+ super(executor);
+ }
+
+ /**
+ * Execute phase 2 commit.
+ * @param transaction the transaction wanting to commit phase 2
+ * @param interestedResources a map of phase 1 prepared resources wanting to participate in phase 2 using Xids as keys
+ * @throws HeuristicRollbackException when all resources committed instead.
+ * @throws HeuristicMixedException when some resources committed and some rolled back.
+ * @throws bitronix.tm.internal.BitronixSystemException when an internal error occured.
+ */
+ public void commit(BitronixTransaction transaction, List interestedResources) throws HeuristicMixedException, HeuristicRollbackException, BitronixSystemException {
+ XAResourceManager resourceManager = transaction.getResourceManager();
+ if (resourceManager.size() == 0) {
+ transaction.setStatus(Status.STATUS_COMMITTING); //TODO: there is a disk force here that could be avoided
+ transaction.setStatus(Status.STATUS_COMMITTED);
+ if (log.isDebugEnabled()) log.debug("phase 2 commit succeeded with no interested resource");
+ return;
+ }
+
+ transaction.setStatus(Status.STATUS_COMMITTING);
+
+ this.interestedResources = Collections.unmodifiableList(interestedResources);
+ this.onePhase = resourceManager.size() == 1;
+
+ try {
+ executePhase(resourceManager, true);
+ } catch (PhaseException ex) {
+ logFailedResources(ex);
+ transaction.setStatus(Status.STATUS_UNKNOWN);
+ throwException("transaction failed during commit of " + transaction, ex, interestedResources.size());
+ }
+
+ if (log.isDebugEnabled()) log.debug("phase 2 commit executed on resources " + Decoder.collectResourcesNames(committedResources));
+
+ // Some resources might have failed the 2nd phase of 2PC.
+ // Only resources which successfully committed should be registered in the journal, the other
+ // ones should be picked up by the recoverer.
+ // Not interested resources have to be included as well since they returned XA_RDONLY and they
+ // don't participate in phase 2: the TX succeded for them.
+ List committedAndNotInterestedUniqueNames = new ArrayList();
+ committedAndNotInterestedUniqueNames.addAll(collectResourcesUniqueNames(committedResources));
+ List notInterestedResources = collectNotInterestedResources(resourceManager.getAllResources(), interestedResources);
+ committedAndNotInterestedUniqueNames.addAll(collectResourcesUniqueNames(notInterestedResources));
+
+ if (log.isDebugEnabled()) {
+ List committedAndNotInterestedResources = new ArrayList();
+ committedAndNotInterestedResources.addAll(committedResources);
+ committedAndNotInterestedResources.addAll(notInterestedResources);
+
+ log.debug("phase 2 commit succeeded on resources " + Decoder.collectResourcesNames(committedAndNotInterestedResources));
+ }
+
+ transaction.setStatus(Status.STATUS_COMMITTED, new HashSet(committedAndNotInterestedUniqueNames));
+ }
+
+ private void throwException(String message, PhaseException phaseException, int totalResourceCount) throws HeuristicMixedException, HeuristicRollbackException {
+ List exceptions = phaseException.getExceptions();
+ List resources = phaseException.getResourceStates();
+
+ boolean hazard = false;
+ List heuristicResources = new ArrayList();
+ List errorResources = new ArrayList();
+
+ for (int i = 0; i < exceptions.size(); i++) {
+ Exception ex = (Exception) exceptions.get(i);
+ XAResourceHolderState resourceHolder = (XAResourceHolderState) resources.get(i);
+ if (ex instanceof XAException) {
+ XAException xaEx = (XAException) ex;
+ switch (xaEx.errorCode) {
+ case XAException.XA_HEURHAZ:
+ hazard = true;
+ case XAException.XA_HEURCOM:
+ case XAException.XA_HEURRB:
+ case XAException.XA_HEURMIX:
+ heuristicResources.add(resourceHolder);
+ break;
+
+ default:
+ errorResources.add(resourceHolder);
+ }
+ }
+ else
+ errorResources.add(resourceHolder);
+ }
+
+ if (!hazard && heuristicResources.size() == totalResourceCount)
+ throw new BitronixHeuristicRollbackException(message + ":" +
+ " all resource(s) " + Decoder.collectResourcesNames(heuristicResources) +
+ " improperly unilaterally rolled back", phaseException);
+ else
+ throw new BitronixHeuristicMixedException(message + ":" +
+ (errorResources.size() > 0 ? " resource(s) " + Decoder.collectResourcesNames(errorResources) + " threw unexpected exception" : "") +
+ (errorResources.size() > 0 && heuristicResources.size() > 0 ? " and" : "") +
+ (heuristicResources.size() > 0 ? " resource(s) " + Decoder.collectResourcesNames(heuristicResources) + " improperly unilaterally rolled back" + (hazard ? " (or hazard happened)" : "") : ""), phaseException);
+ }
+
+ protected Job createJob(XAResourceHolderState resourceHolder) {
+ return new CommitJob(resourceHolder);
+ }
+
+ protected boolean isParticipating(XAResourceHolderState xaResourceHolderState) {
+ for (int i = 0; i < interestedResources.size(); i++) {
+ XAResourceHolderState resourceHolderState = (XAResourceHolderState) interestedResources.get(i);
+ if (xaResourceHolderState == resourceHolderState)
+ return true;
+ }
+ return false;
+ }
+
+
+ private class CommitJob extends Job {
+
+ public CommitJob(XAResourceHolderState resourceHolder) {
+ super(resourceHolder);
+ }
+
+ public XAException getXAException() {
+ return xaException;
+ }
+
+ public RuntimeException getRuntimeException() {
+ return runtimeException;
+ }
+
+ public void execute() {
+ try {
+ commitResource(getResource(), onePhase);
+ } catch (RuntimeException ex) {
+ runtimeException = ex;
+ } catch (XAException ex) {
+ xaException = ex;
+ }
+ }
+
+ private void commitResource(XAResourceHolderState resourceHolder, boolean onePhase) throws XAException {
+ try {
+ if (log.isDebugEnabled()) log.debug("committing resource " + resourceHolder + (onePhase ? " (with one-phase optimization)" : ""));
+ resourceHolder.getXAResource().commit(resourceHolder.getXid(), onePhase);
+ committedResources.add(resourceHolder);
+ if (log.isDebugEnabled()) log.debug("committed resource " + resourceHolder);
+ } catch (XAException ex) {
+ handleXAException(resourceHolder, ex);
+ }
+ }
+
+ private void handleXAException(XAResourceHolderState failedResourceHolder, XAException xaException) throws XAException {
+ switch (xaException.errorCode) {
+ case XAException.XA_HEURCOM:
+ forgetHeuristicCommit(failedResourceHolder);
+ return;
+
+ case XAException.XAER_NOTA:
+ throw new BitronixXAException("unknown heuristic termination, global state of this transaction is unknown - guilty: " + failedResourceHolder, XAException.XA_HEURHAZ, xaException);
+
+ case XAException.XA_HEURHAZ:
+ case XAException.XA_HEURMIX:
+ case XAException.XA_HEURRB:
+ case XAException.XA_RBCOMMFAIL:
+ case XAException.XA_RBDEADLOCK:
+ case XAException.XA_RBINTEGRITY:
+ case XAException.XA_RBOTHER:
+ case XAException.XA_RBPROTO:
+ case XAException.XA_RBROLLBACK:
+ case XAException.XA_RBTIMEOUT:
+ case XAException.XA_RBTRANSIENT:
+ log.error("heuristic rollback is incompatible with the global state of this transaction - guilty: " + failedResourceHolder);
+ throw xaException;
+
+ default:
+ log.warn("resource '" + failedResourceHolder.getUniqueName() + "' reported " + Decoder.decodeXAExceptionErrorCode(xaException) +
+ " when asked to commit transaction branch. Transaction is prepared and will commit via recovery service when resource availability allows.", xaException);
+ }
+ }
+
+ private void forgetHeuristicCommit(XAResourceHolderState resourceHolder) {
+ try {
+ if (log.isDebugEnabled()) log.debug("handling heuristic commit on resource " + resourceHolder.getXAResource());
+ resourceHolder.getXAResource().forget(resourceHolder.getXid());
+ if (log.isDebugEnabled()) log.debug("forgotten heuristically committed resource " + resourceHolder.getXAResource());
+ } catch (XAException ex) {
+ log.error("cannot forget " + resourceHolder.getXid() + " assigned to " + resourceHolder.getXAResource() + ", error=" + Decoder.decodeXAExceptionErrorCode(ex), ex);
+ }
+ }
+
+ public String toString() {
+ return "a CommitJob " + (onePhase ? "(one phase) " : "") + "with " + getResource();
+ }
+ }
+
+}
diff --git a/src/bitronix/tm/twopc/PhaseException.java b/src/bitronix/tm/twopc/PhaseException.java
new file mode 100644
index 0000000..5a73dc1
--- /dev/null
+++ b/src/bitronix/tm/twopc/PhaseException.java
@@ -0,0 +1,93 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.twopc;
+
+import bitronix.tm.internal.XAResourceHolderState;
+import bitronix.tm.utils.Decoder;
+
+import javax.transaction.xa.XAException;
+import java.util.List;
+import java.util.ArrayList;
+
+/**
+ * Thrown when a phase exection has thrown one or more exception(s).
+ *
+ * @author lorban
+ */
+public class PhaseException extends Exception {
+
+ private List exceptions = new ArrayList();
+ private List resourceStates = new ArrayList();
+
+ public PhaseException(List exceptions, List resourceStates) {
+ this.exceptions = exceptions;
+ this.resourceStates = resourceStates;
+ }
+
+ public String getMessage() {
+ StringBuffer errorMessage = new StringBuffer();
+ errorMessage.append("collected ");
+ errorMessage.append(exceptions.size());
+ errorMessage.append(" exception(s):");
+ for (int i = 0; i < exceptions.size(); i++) {
+ errorMessage.append(System.getProperty("line.separator"));
+ Throwable throwable = (Throwable) exceptions.get(i);
+ String message = throwable.getMessage();
+ XAResourceHolderState holderState = (XAResourceHolderState) resourceStates.get(i);
+
+ if (holderState != null) {
+ errorMessage.append(" [");
+ errorMessage.append(holderState.getUniqueName());
+ errorMessage.append(" - ");
+ }
+ errorMessage.append(throwable.getClass().getName());
+ if (throwable instanceof XAException) {
+ XAException xaEx = (XAException) throwable;
+ errorMessage.append("(");
+ errorMessage.append(Decoder.decodeXAExceptionErrorCode(xaEx));
+ errorMessage.append(")");
+ }
+ errorMessage.append(" - ");
+ errorMessage.append(message);
+ errorMessage.append("]");
+ }
+
+ return errorMessage.toString();
+ }
+
+ /**
+ * Get the list of exceptions that have been thrown during a phase execution.
+ * @return the list of exceptions that have been thrown during a phase execution.
+ */
+ public List getExceptions() {
+ return exceptions;
+ }
+
+ /**
+ * Get the list of resource which threw an exception during a phase execution.
+ * This list always contains exactly one resource per exception present in {@link #getExceptions} list.
+ * Indices of both list always match a resource against the exception it threw.
+ * @return the list of resource which threw an exception during a phase execution.
+ */
+ public List getResourceStates() {
+ return resourceStates;
+ }
+}
diff --git a/src/bitronix/tm/twopc/Preparer.java b/src/bitronix/tm/twopc/Preparer.java
new file mode 100644
index 0000000..0a6ee47
--- /dev/null
+++ b/src/bitronix/tm/twopc/Preparer.java
@@ -0,0 +1,171 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.twopc;
+
+import bitronix.tm.BitronixTransaction;
+import bitronix.tm.TransactionManagerServices;
+import bitronix.tm.utils.Decoder;
+import bitronix.tm.internal.*;
+import bitronix.tm.twopc.executor.Executor;
+import bitronix.tm.twopc.executor.Job;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.transaction.Status;
+import javax.transaction.RollbackException;
+import javax.transaction.xa.XAException;
+import javax.transaction.xa.XAResource;
+import java.util.*;
+
+/**
+ * Phase 1 Prepare logic engine.
+ *
+ * @author lorban
+ */
+public class Preparer extends AbstractPhaseEngine {
+
+ private final static Logger log = LoggerFactory.getLogger(Preparer.class);
+
+ // this list has to be thread-safe as the PrepareJobs can be executed in parallel (when async 2PC is configured)
+ private final List preparedResources = Collections.synchronizedList(new ArrayList());
+
+ public Preparer(Executor executor) {
+ super(executor);
+ }
+
+ /**
+ * Execute phase 1 prepare.
+ * @param transaction the transaction to prepare.
+ * @return a list that will be filled with all resources that received the prepare command
+ * and replied with {@link javax.transaction.xa.XAResource#XA_OK}.
+ * @throws RollbackException when an error occured that can be fixed with a rollback.
+ * @throws bitronix.tm.internal.BitronixSystemException when an internal error occured.
+ */
+ public List prepare(BitronixTransaction transaction) throws RollbackException, BitronixSystemException {
+ XAResourceManager resourceManager = transaction.getResourceManager();
+ transaction.setStatus(Status.STATUS_PREPARING);
+
+ if (resourceManager.size() == 0) {
+ if (TransactionManagerServices.getConfiguration().isWarnAboutZeroResourceTransaction())
+ log.warn("executing transaction with 0 enlisted resource");
+ else
+ if (log.isDebugEnabled()) log.debug("0 resource enlisted, no prepare needed");
+
+ transaction.setStatus(Status.STATUS_PREPARED);
+ return preparedResources;
+ }
+
+ // 1PC optimization
+ if (resourceManager.size() == 1) {
+ XAResourceHolderState resourceHolder = (XAResourceHolderState) resourceManager.getAllResources().get(0);
+
+ preparedResources.add(resourceHolder);
+ if (log.isDebugEnabled()) log.debug("1 resource enlisted, no prepare needed (1PC)");
+ transaction.setStatus(Status.STATUS_PREPARED);
+ return preparedResources;
+ }
+
+ try {
+ executePhase(resourceManager, false);
+ } catch (PhaseException ex) {
+ logFailedResources(ex);
+ throwException("transaction failed during prepare of " + transaction, ex);
+ }
+
+ transaction.setStatus(Status.STATUS_PREPARED);
+ if (log.isDebugEnabled()) log.debug("successfully prepared " + preparedResources.size() + " resource(s)");
+ return preparedResources;
+ }
+
+ private void throwException(String message, PhaseException phaseException) throws BitronixRollbackException {
+ List exceptions = phaseException.getExceptions();
+ List resources = phaseException.getResourceStates();
+
+ List heuristicResources = new ArrayList();
+ List errorResources = new ArrayList();
+
+ for (int i = 0; i < exceptions.size(); i++) {
+ Exception ex = (Exception) exceptions.get(i);
+ XAResourceHolderState resourceHolder = (XAResourceHolderState) resources.get(i);
+ if (ex instanceof XAException) {
+ XAException xaEx = (XAException) ex;
+ /**
+ * Sybase ASE can sometimes forget a transaction before prepare. For instance, when executing
+ * a stored procedure that contains a rollback statement. In that case it throws XAException(XAER_NOTA)
+ * when asked to prepare.
+ */
+ if (xaEx.errorCode == XAException.XAER_NOTA)
+ heuristicResources.add(resourceHolder);
+ else
+ errorResources.add(resourceHolder);
+ }
+ else
+ errorResources.add(resourceHolder);
+ }
+
+ if (heuristicResources.size() > 0)
+ throw new BitronixRollbackException(message + ":" +
+ " resource(s) " + Decoder.collectResourcesNames(heuristicResources) +
+ " unilaterally finished transaction branch before being asked to prepare", phaseException);
+ else
+ throw new BitronixRollbackException(message + ":" +
+ " resource(s) " + Decoder.collectResourcesNames(errorResources) +
+ " threw unexpected exception", phaseException);
+ }
+
+ protected Job createJob(XAResourceHolderState xaResourceHolderState) {
+ return new PrepareJob(xaResourceHolderState);
+ }
+
+ protected boolean isParticipating(XAResourceHolderState xaResourceHolderState) {
+ return true;
+ }
+
+
+ private class PrepareJob extends Job {
+ public PrepareJob(XAResourceHolderState resourceHolder) {
+ super(resourceHolder);
+ }
+
+ public void execute() {
+ try {
+ XAResourceHolderState resourceHolder = getResource();
+ if (log.isDebugEnabled()) log.debug("preparing resource " + resourceHolder);
+
+ int vote = resourceHolder.getXAResource().prepare(resourceHolder.getXid());
+ if (vote != XAResource.XA_RDONLY) {
+ preparedResources.add(resourceHolder);
+ }
+
+ if (log.isDebugEnabled()) log.debug("prepared resource " + resourceHolder + " voted " + Decoder.decodePrepareVote(vote));
+ } catch (RuntimeException ex) {
+ runtimeException = ex;
+ } catch (XAException ex) {
+ xaException = ex;
+ }
+ }
+
+ public String toString() {
+ return "a PrepareJob with " + getResource();
+ }
+ }
+
+}
diff --git a/src/bitronix/tm/twopc/Rollbacker.java b/src/bitronix/tm/twopc/Rollbacker.java
new file mode 100644
index 0000000..2e8a246
--- /dev/null
+++ b/src/bitronix/tm/twopc/Rollbacker.java
@@ -0,0 +1,218 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.twopc;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import bitronix.tm.BitronixTransaction;
+import bitronix.tm.utils.Decoder;
+import bitronix.tm.twopc.executor.Executor;
+import bitronix.tm.twopc.executor.Job;
+import bitronix.tm.internal.*;
+
+import javax.transaction.Status;
+import javax.transaction.HeuristicMixedException;
+import javax.transaction.HeuristicCommitException;
+import javax.transaction.xa.XAException;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Collections;
+
+/**
+ * Phase 1 & 2 Rollback logic engine.
+ *
+ * @author lorban
+ */
+public class Rollbacker extends AbstractPhaseEngine {
+
+ private final static Logger log = LoggerFactory.getLogger(Rollbacker.class);
+
+ private List interestedResources;
+ // this list has to be thread-safe as the RollbackJobs can be executed in parallel (when async 2PC is configured)
+ private final List rolledbackResources = Collections.synchronizedList(new ArrayList());
+
+ public Rollbacker(Executor executor) {
+ super(executor);
+ }
+
+ /**
+ * Rollback the current XA transaction. {@link bitronix.tm.internal.TransactionTimeoutException} won't be thrown
+ * while changing status but rather by some extra logic that will manually throw the exception after doing as much
+ * cleanup as possible.
+ *
+ * @param transaction the transaction to rollback.
+ * @param interestedResources resources that should be rolled back.
+ * @throws HeuristicCommitException when all resources committed instead.
+ * @throws HeuristicMixedException when some resources committed and some rolled back.
+ * @throws bitronix.tm.internal.BitronixSystemException when an internal error occured.
+ */
+ public void rollback(BitronixTransaction transaction, List interestedResources) throws HeuristicMixedException, HeuristicCommitException, BitronixSystemException {
+ XAResourceManager resourceManager = transaction.getResourceManager();
+ transaction.setStatus(Status.STATUS_ROLLING_BACK);
+ this.interestedResources = Collections.unmodifiableList(interestedResources);
+
+ try {
+ executePhase(resourceManager, true);
+ } catch (PhaseException ex) {
+ logFailedResources(ex);
+ transaction.setStatus(Status.STATUS_UNKNOWN);
+ throwException("transaction failed during rollback of " + transaction, ex, interestedResources.size());
+ }
+
+ if (log.isDebugEnabled()) log.debug("rollback executed on resources " + Decoder.collectResourcesNames(rolledbackResources));
+
+ // Some resources might have failed the 2nd phase of 2PC.
+ // Only resources which successfully rolled back should be registered in the journal, the other
+ // ones should be picked up by the recoverer.
+ // Not interested resources have to be included as well since they returned XA_RDONLY and they
+ // don't participate in phase 2: the TX succeded for them.
+ List rolledbackAndNotInterestedUniqueNames = new ArrayList();
+ rolledbackAndNotInterestedUniqueNames.addAll(collectResourcesUniqueNames(rolledbackResources));
+ List notInterestedResources = collectNotInterestedResources(resourceManager.getAllResources(), interestedResources);
+ rolledbackAndNotInterestedUniqueNames.addAll(collectResourcesUniqueNames(notInterestedResources));
+
+ if (log.isDebugEnabled()) {
+ List rolledbackAndNotInterestedResources = new ArrayList();
+ rolledbackAndNotInterestedResources.addAll(rolledbackResources);
+ rolledbackAndNotInterestedResources.addAll(notInterestedResources);
+
+ log.debug("rollback succeeded on resources " + Decoder.collectResourcesNames(rolledbackAndNotInterestedResources));
+ }
+
+ transaction.setStatus(Status.STATUS_ROLLEDBACK, new HashSet(rolledbackAndNotInterestedUniqueNames));
+ }
+
+ private void throwException(String message, PhaseException phaseException, int totalResourceCount) throws HeuristicMixedException, HeuristicCommitException {
+ List exceptions = phaseException.getExceptions();
+ List resources = phaseException.getResourceStates();
+
+ boolean hazard = false;
+ List heuristicResources = new ArrayList();
+ List errorResources = new ArrayList();
+
+ for (int i = 0; i < exceptions.size(); i++) {
+ Exception ex = (Exception) exceptions.get(i);
+ XAResourceHolderState resourceHolder = (XAResourceHolderState) resources.get(i);
+ if (ex instanceof XAException) {
+ XAException xaEx = (XAException) ex;
+ switch (xaEx.errorCode) {
+ case XAException.XA_HEURHAZ:
+ hazard = true;
+ case XAException.XA_HEURCOM:
+ case XAException.XA_HEURRB:
+ case XAException.XA_HEURMIX:
+ heuristicResources.add(resourceHolder);
+ break;
+
+ default:
+ errorResources.add(resourceHolder);
+ }
+ }
+ else
+ errorResources.add(resourceHolder);
+ }
+
+ if (!hazard && heuristicResources.size() == totalResourceCount)
+ throw new BitronixHeuristicCommitException(message + ":" +
+ " all resource(s) " + Decoder.collectResourcesNames(heuristicResources) +
+ " improperly unilaterally committed", phaseException);
+ else
+ throw new BitronixHeuristicMixedException(message + ":" +
+ (errorResources.size() > 0 ? " resource(s) " + Decoder.collectResourcesNames(errorResources) + " threw unexpected exception" : "") +
+ (errorResources.size() > 0 && heuristicResources.size() > 0 ? " and" : "") +
+ (heuristicResources.size() > 0 ? " resource(s) " + Decoder.collectResourcesNames(heuristicResources) + " improperly unilaterally committed" + (hazard ? " (or hazard happened)" : "") : ""), phaseException);
+ }
+
+ protected Job createJob(XAResourceHolderState resourceHolder) {
+ return new RollbackJob(resourceHolder);
+ }
+
+ protected boolean isParticipating(XAResourceHolderState xaResourceHolderState) {
+ for (int i = 0; i < interestedResources.size(); i++) {
+ XAResourceHolderState resourceHolderState = (XAResourceHolderState) interestedResources.get(i);
+ if (xaResourceHolderState == resourceHolderState)
+ return true;
+ }
+ return false;
+ }
+
+ private class RollbackJob extends Job {
+
+ public RollbackJob(XAResourceHolderState resourceHolder) {
+ super(resourceHolder);
+ }
+
+ public void execute() {
+ try {
+ rollbackResource(getResource());
+ } catch (RuntimeException ex) {
+ runtimeException = ex;
+ } catch (XAException ex) {
+ xaException = ex;
+ }
+ }
+
+ private void rollbackResource(XAResourceHolderState resourceHolder) throws XAException {
+ try {
+ if (log.isDebugEnabled()) log.debug("trying to rollback resource " + resourceHolder);
+ resourceHolder.getXAResource().rollback(resourceHolder.getXid());
+ rolledbackResources.add(resourceHolder);
+ if (log.isDebugEnabled()) log.debug("rolled back resource " + resourceHolder);
+ } catch (XAException ex) {
+ handleXAException(resourceHolder, ex);
+ }
+ }
+
+ private void handleXAException(XAResourceHolderState failedResourceHolder, XAException xaException) throws XAException {
+ switch (xaException.errorCode) {
+ case XAException.XA_HEURRB:
+ forgetHeuristicRollback(failedResourceHolder);
+ return;
+
+ case XAException.XA_HEURCOM:
+ case XAException.XA_HEURHAZ:
+ case XAException.XA_HEURMIX:
+ log.error("heuristic rollback is incompatible with the global state of this transaction - guilty: " + failedResourceHolder);
+ throw xaException;
+
+ default:
+ log.warn("resource '" + failedResourceHolder.getUniqueName() + "' reported " + Decoder.decodeXAExceptionErrorCode(xaException) +
+ " when asked to rollback transaction branch. Transaction is prepared and will rollback via recovery service when resource availability allows.", xaException);
+ }
+ }
+
+ private void forgetHeuristicRollback(XAResourceHolderState resourceHolder) {
+ try {
+ if (log.isDebugEnabled()) log.debug("handling heuristic rollback on resource " + resourceHolder.getXAResource());
+ resourceHolder.getXAResource().forget(resourceHolder.getXid());
+ if (log.isDebugEnabled()) log.debug("forgotten heuristically rolled back resource " + resourceHolder.getXAResource());
+ } catch (XAException ex) {
+ log.error("cannot forget " + resourceHolder.getXid() + " assigned to " + resourceHolder.getXAResource() + ", error=" + Decoder.decodeXAExceptionErrorCode(ex), ex);
+ }
+ }
+
+ public String toString() {
+ return "a RollbackJob with " + getResource();
+ }
+ }
+
+}
diff --git a/src/bitronix/tm/twopc/executor/BackportConcurrentExecutor.java b/src/bitronix/tm/twopc/executor/BackportConcurrentExecutor.java
new file mode 100644
index 0000000..279889a
--- /dev/null
+++ b/src/bitronix/tm/twopc/executor/BackportConcurrentExecutor.java
@@ -0,0 +1,41 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.twopc.executor;
+
+/**
+ * Abstraction of the <code>java.util.concurrent</code>
+ * <a href="http://www.dcl.mathcs.emory.edu/util/backport-util-concurrent/">backport</a> implementation.
+ *
+ * @author lorban
+ */
+public class BackportConcurrentExecutor extends ConcurrentExecutor {
+
+ private final static String[] implementations = {
+ "edu.emory.mathcs.backport.java.util.concurrent.Executors",
+ "edu.emory.mathcs.backport.java.util.concurrent.ExecutorService",
+ "edu.emory.mathcs.backport.java.util.concurrent.Future",
+ "edu.emory.mathcs.backport.java.util.concurrent.TimeUnit"
+ };
+
+ public BackportConcurrentExecutor() {
+ super(implementations);
+ }
+}
diff --git a/src/bitronix/tm/twopc/executor/ConcurrentExecutor.java b/src/bitronix/tm/twopc/executor/ConcurrentExecutor.java
new file mode 100644
index 0000000..f8f0c39
--- /dev/null
+++ b/src/bitronix/tm/twopc/executor/ConcurrentExecutor.java
@@ -0,0 +1,148 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.twopc.executor;
+
+import bitronix.tm.internal.BitronixRuntimeException;
+import bitronix.tm.utils.ClassLoaderUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+/**
+ * Abstraction of the <code>java.util.concurrent</code> JDK 1.5+ implementation.
+ *
+ * @author lorban
+ */
+public class ConcurrentExecutor implements Executor {
+
+ private final static Logger log = LoggerFactory.getLogger(ConcurrentExecutor.class);
+
+ private final static String[] implementations = {
+ "java.util.concurrent.Executors",
+ "java.util.concurrent.ExecutorService",
+ "java.util.concurrent.Future",
+ "java.util.concurrent.TimeUnit"
+ };
+
+
+ private Object executorService;
+ private Method executorServiceSubmitMethod;
+ private Method executorServiceShutdownMethod;
+ private Method futureGetMethod;
+ private Method futureIsDoneMethod;
+ private Object timeUnitMilliseconds;
+ private boolean usable = false;
+
+
+ public ConcurrentExecutor() {
+ this(implementations);
+ }
+
+ protected ConcurrentExecutor(String[] implementations) {
+ init(implementations);
+ }
+
+ private void init(String[] implementations) {
+ String executorsImpl = implementations[0];
+ String executorServiceImpl = implementations[1];
+ String futureImpl = implementations[2];
+ String timeUnitImpl = implementations[3];
+ if (log.isDebugEnabled()) log.debug("initializing concurrent executor implementation <" + executorsImpl + ">");
+
+ try {
+ Class executorsClass = ClassLoaderUtils.loadClass(executorsImpl);
+ Class executorServiceClass = ClassLoaderUtils.loadClass(executorServiceImpl);
+ Class timeUnitClass = ClassLoaderUtils.loadClass(timeUnitImpl);
+
+ executorService = executorsClass.getMethod("newCachedThreadPool", (Class[]) null).invoke(executorsClass, (Object[]) null);
+ executorServiceSubmitMethod = executorServiceClass.getMethod("submit", new Class[] { Runnable.class });
+ executorServiceShutdownMethod = executorServiceClass.getMethod("shutdownNow", (Class[]) null);
+ timeUnitMilliseconds = timeUnitClass.getField("MILLISECONDS").get(timeUnitClass);
+ futureGetMethod = ClassLoaderUtils.loadClass(futureImpl).getMethod("get", new Class[] { long.class, timeUnitClass });
+ futureIsDoneMethod = ClassLoaderUtils.loadClass(futureImpl).getMethod("isDone", (Class[]) null);
+
+ if (log.isDebugEnabled()) log.debug("found a valid implementation for this executor <" + executorsImpl + ">");
+ usable = true;
+ } catch (Exception ex) {
+ if (log.isDebugEnabled()) log.debug("error accessing executor implementation <" + executorsImpl + ">", ex);
+ }
+
+ if (!usable)
+ if (log.isDebugEnabled()) log.debug("cannot find a valid implementation for executor <" + executorsImpl + ">, disabling it");
+ }
+
+ public Object submit(Job job) {
+ if (!isUsable())
+ throw new BitronixRuntimeException("concurrent executor is disabled because there is no valid executor implementation");
+ try {
+ return executorServiceSubmitMethod.invoke(executorService, new Object[] { job });
+ } catch (IllegalAccessException ex) {
+ throw new BitronixRuntimeException("error calling ExecutorService.submit(Runnable task)", ex);
+ } catch (InvocationTargetException ex) {
+ throw new BitronixRuntimeException("error calling ExecutorService.submit(Runnable task)", ex);
+ }
+ }
+
+ public void waitFor(Object future, long timeout) {
+ if (!isUsable())
+ throw new BitronixRuntimeException("concurrent executor is disabled because there is no valid executor implementation");
+ try {
+ futureGetMethod.invoke(future, new Object[] { new Long(timeout), timeUnitMilliseconds});
+ } catch (IllegalAccessException ex) {
+ throw new BitronixRuntimeException("error calling Future.get()", ex);
+ } catch (InvocationTargetException ex) {
+ if (ex.getCause().getClass().getName().endsWith("TimeoutException"))
+ return; // wait timed out, simply return
+ throw new BitronixRuntimeException("error calling Future.get()", ex);
+ }
+ }
+
+ public boolean isDone(Object future) {
+ if (!isUsable())
+ throw new BitronixRuntimeException("concurrent executor is disabled because there is no valid executor implementation");
+ try {
+ Boolean b = (Boolean) futureIsDoneMethod.invoke(future, (Object[]) null);
+ return b.booleanValue();
+ } catch (IllegalAccessException ex) {
+ throw new BitronixRuntimeException("error calling Future.isDone()", ex);
+ } catch (InvocationTargetException ex) {
+ throw new BitronixRuntimeException("error calling Future.isDone()", ex);
+ }
+ }
+
+ public boolean isUsable() {
+ return usable;
+ }
+
+ public synchronized void shutdown() {
+ if (!isUsable())
+ throw new BitronixRuntimeException("concurrent executor is disabled because there is no valid executor implementation");
+ try {
+ executorServiceShutdownMethod.invoke(executorService, (Object[]) null);
+ } catch (IllegalAccessException ex) {
+ throw new BitronixRuntimeException("error calling ExecutorService.shutdown()", ex);
+ } catch (InvocationTargetException ex) {
+ throw new BitronixRuntimeException("error calling ExecutorService.shutdown()", ex);
+ }
+ }
+}
diff --git a/src/bitronix/tm/twopc/executor/Executor.java b/src/bitronix/tm/twopc/executor/Executor.java
new file mode 100644
index 0000000..3e1569d
--- /dev/null
+++ b/src/bitronix/tm/twopc/executor/Executor.java
@@ -0,0 +1,67 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.twopc.executor;
+
+import bitronix.tm.internal.BitronixRuntimeException;
+import bitronix.tm.utils.Service;
+
+/**
+ * Thread pool interface required by the two-phase commit logic.
+ *
+ * @author lorban
+ */
+public interface Executor extends Service {
+
+ /**
+ * Submit a job to be executed by the thread pool.
+ * @param job the {@link Runnable} to execute.
+ * @return an object used to monitor the execution of the submitted {@link Runnable}.
+ */
+ public Object submit(Job job);
+
+ /**
+ * Wait for the job represented by the future to terminate. The call to this method will block until the job
+ * finished its execution or the specified timeout elapsed.
+ * @param future the future representing the job as returned by {@link #submit}.
+ * @param timeout if the job did not finish during the specified timeout in milliseconds, this method returns anyway.
+ */
+ public void waitFor(Object future, long timeout);
+
+ /**
+ * Check if the thread pool has terminated the execution of the job represented by a future.
+ * @param future the future representing the job as returned by {@link #submit}.
+ * @return true if the job is done, false otherwise.
+ */
+ public boolean isDone(Object future);
+
+ /**
+ * Check if the thread pool can be used. The thread pool migh rely on an underlying implementation that may not be
+ * available. All other methods will throw a {@link BitronixRuntimeException} when called if this method returns false.
+ * @return true if the {@link Executor} can be used, false otherwise.
+ */
+ public boolean isUsable();
+
+ /**
+ * Shutdown the thead pool.
+ */
+ public void shutdown();
+
+}
diff --git a/src/bitronix/tm/twopc/executor/Job.java b/src/bitronix/tm/twopc/executor/Job.java
new file mode 100644
index 0000000..613934c
--- /dev/null
+++ b/src/bitronix/tm/twopc/executor/Job.java
@@ -0,0 +1,74 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.twopc.executor;
+
+import bitronix.tm.TransactionManagerServices;
+import bitronix.tm.internal.XAResourceHolderState;
+
+import javax.transaction.xa.XAException;
+
+/**
+ * Abstract job definition executable by the 2PC thread pools.
+ *
+ * @author lorban
+ */
+public abstract class Job implements Runnable {
+ private Object future;
+ private XAResourceHolderState resourceHolder;
+
+ protected XAException xaException;
+ protected RuntimeException runtimeException;
+
+ public Job(XAResourceHolderState resourceHolder) {
+ this.resourceHolder = resourceHolder;
+ }
+
+ public XAResourceHolderState getResource() {
+ return resourceHolder;
+ }
+
+ public XAException getXAException() {
+ return xaException;
+ }
+
+ public RuntimeException getRuntimeException() {
+ return runtimeException;
+ }
+
+ public void setFuture(Object future) {
+ this.future = future;
+ }
+
+ public Object getFuture() {
+ return future;
+ }
+
+ public final void run() {
+ if (TransactionManagerServices.getConfiguration().isAsynchronous2Pc()) {
+ Thread.currentThread().setName("bitronix-2pc [ " +
+ resourceHolder.getXid().toString() +
+ " ]");
+ }
+ execute();
+ }
+
+ protected abstract void execute();
+}
diff --git a/src/bitronix/tm/twopc/executor/SimpleAsyncExecutor.java b/src/bitronix/tm/twopc/executor/SimpleAsyncExecutor.java
new file mode 100644
index 0000000..1cd192f
--- /dev/null
+++ b/src/bitronix/tm/twopc/executor/SimpleAsyncExecutor.java
@@ -0,0 +1,59 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.twopc.executor;
+
+import bitronix.tm.internal.BitronixRuntimeException;
+
+/**
+ * This implementation spawns a new thread per request.
+ *
+ * @author lorban
+ */
+public class SimpleAsyncExecutor implements Executor {
+
+ public Object submit(Job job) {
+ Thread t = new Thread(job);
+ t.setDaemon(true);
+ t.start();
+ return t;
+ }
+
+ public void waitFor(Object future, long timeout) {
+ Thread t = (Thread) future;
+ try {
+ t.join(timeout);
+ } catch (InterruptedException ex) {
+ throw new BitronixRuntimeException("job interrupted", ex);
+ }
+ }
+
+ public boolean isDone(Object future) {
+ Thread t = (Thread) future;
+ return !t.isAlive();
+ }
+
+ public boolean isUsable() {
+ return true;
+ }
+
+ public void shutdown() {
+ }
+}
diff --git a/src/bitronix/tm/twopc/executor/SyncExecutor.java b/src/bitronix/tm/twopc/executor/SyncExecutor.java
new file mode 100644
index 0000000..2d86a41
--- /dev/null
+++ b/src/bitronix/tm/twopc/executor/SyncExecutor.java
@@ -0,0 +1,48 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.twopc.executor;
+
+/**
+ * This implementation executes submitted jobs synchronously.
+ *
+ * @author lorban
+ */
+public class SyncExecutor implements Executor {
+
+ public Object submit(Job job) {
+ job.run();
+ return new Object();
+ }
+
+ public void waitFor(Object future, long timeout) {
+ }
+
+ public boolean isDone(Object future) {
+ return true;
+ }
+
+ public boolean isUsable() {
+ return true;
+ }
+
+ public void shutdown() {
+ }
+}
diff --git a/src/bitronix/tm/twopc/executor/package.html b/src/bitronix/tm/twopc/executor/package.html
new file mode 100644
index 0000000..566f9c2
--- /dev/null
+++ b/src/bitronix/tm/twopc/executor/package.html
@@ -0,0 +1,7 @@
+<html>
+<body>
+ <p>
+ Two-phase commit commands executors.
+ </p>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/bitronix/tm/twopc/package.html b/src/bitronix/tm/twopc/package.html
new file mode 100644
index 0000000..3d544b6
--- /dev/null
+++ b/src/bitronix/tm/twopc/package.html
@@ -0,0 +1,7 @@
+<html>
+<body>
+ <p>
+ Two-phase commit logic.
+ </p>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/bitronix/tm/utils/ClassLoaderUtils.java b/src/bitronix/tm/utils/ClassLoaderUtils.java
new file mode 100644
index 0000000..701e34b
--- /dev/null
+++ b/src/bitronix/tm/utils/ClassLoaderUtils.java
@@ -0,0 +1,79 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.utils;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.InputStream;
+
+/**
+ * Static utility methods for loading classes and resources.
+ */
+public class ClassLoaderUtils {
+
+ private final static Logger log = LoggerFactory.getLogger(ClassLoaderUtils.class);
+
+ /**
+ * Get the class loader which can be used to generate proxies without leaking memory.
+ * @return the class loader which can be used to generate proxies without leaking memory.
+ */
+ public static ClassLoader getClassLoader() {
+ ClassLoader cl = Thread.currentThread().getContextClassLoader();
+ if (cl != null) {
+ return cl;
+ }
+ return ClassLoaderUtils.class.getClassLoader();
+ }
+
+ /**
+ * Load a class by name. Tries the current thread's context loader then falls back to {@link Class#forName(String)}.
+ * @param className name of the class to load.
+ * @return the loaded class.
+ * @throws ClassNotFoundException if the class cannot be found in the classpath.
+ */
+ public static Class loadClass(String className) throws ClassNotFoundException {
+ ClassLoader cl = Thread.currentThread().getContextClassLoader();
+ if (cl != null) {
+ try {
+ return cl.loadClass(className);
+ } catch (ClassNotFoundException ex) {
+ if (log.isDebugEnabled()) log.debug("context classloader could not find class '" + className + "', trying Class.forName() instead");
+ }
+ }
+
+ return Class.forName(className);
+ }
+
+ /**
+ * Load a resource from the classpath. Tries the current thread's context loader then falls back to
+ * {@link ClassLoader#getResourceAsStream(String)} using this class' classloader.
+ * @param resourceName the resource name to load.
+ * @return a {@link java.io.InputStream} if the resource could be found, null otherwise.
+ */
+ public static InputStream getResourceAsStream(String resourceName) {
+ ClassLoader cl = Thread.currentThread().getContextClassLoader();
+ if (cl != null)
+ return cl.getResourceAsStream(resourceName);
+
+ return ClassLoaderUtils.class.getClassLoader().getResourceAsStream(resourceName);
+ }
+}
\ No newline at end of file
diff --git a/src/bitronix/tm/utils/CollectionUtils.java b/src/bitronix/tm/utils/CollectionUtils.java
new file mode 100644
index 0000000..2763743
--- /dev/null
+++ b/src/bitronix/tm/utils/CollectionUtils.java
@@ -0,0 +1,50 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.utils;
+
+import java.util.Collection;
+import java.util.Iterator;
+
+/**
+ * <p>{@link Collection} helper functions.</p>
+ *
+ * @author lorban
+ */
+public class CollectionUtils {
+
+ /**
+ * Check if a collection contains a specific object by searching for it by identity
+ * instead of by using equals/hashcode.
+ * @param collection the collection to search in.
+ * @param toBeFound the object to search for.
+ * @return true if the collection contains the object, false otherwise.
+ */
+ public static boolean containsByIdentity(Collection collection, Object toBeFound) {
+ Iterator it = collection.iterator();
+ while (it.hasNext()) {
+ Object o = it.next();
+ if (o == toBeFound)
+ return true;
+ }
+ return false;
+ }
+
+}
diff --git a/src/bitronix/tm/utils/CryptoEngine.java b/src/bitronix/tm/utils/CryptoEngine.java
new file mode 100644
index 0000000..8c7e1a3
--- /dev/null
+++ b/src/bitronix/tm/utils/CryptoEngine.java
@@ -0,0 +1,1105 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.utils;
+
+import bitronix.tm.Version;
+import bitronix.tm.internal.BitronixRuntimeException;
+
+import javax.crypto.*;
+import javax.crypto.spec.DESKeySpec;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.security.InvalidKeyException;
+import java.security.NoSuchAlgorithmException;
+import java.security.spec.InvalidKeySpecException;
+
+/**
+ * <p>Simple crypto helper that uses symetric keys to crypt and decrypt resources passwords.</p>
+ *
+ * @author lorban
+ */
+public class CryptoEngine {
+
+ private static final int LONG_SIZE_IN_BYTES = 8;
+ private static final String CRYPTO_PASSWORD = "B1tr0n!+";
+
+ /**
+ * Crypt the given data using the given cipher.
+ * The crypted result is base64-encoded before it is returned.
+ * @param cipher the cypther to use.
+ * @param data the data to crypt.
+ * @return crypted, base64-encoded data.
+ * @throws InvalidKeyException if the given key material is shorter than 8 bytes.
+ * @throws NoSuchAlgorithmException if a secret-key factory for the specified algorithm is not available in the
+ * default provider package or any of the other provider packages that were searched.
+ * @throws NoSuchPaddingException if transformation contains a padding scheme that is not available.
+ * @throws InvalidKeySpecException if the given key specification is inappropriate for this secret-key factory to
+ * produce a secret key.
+ * @throws IOException if an I/O error occurs.
+ */
+ public static String crypt(String cipher, String data) throws InvalidKeyException, NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeySpecException, IOException {
+ byte[] prependedBytes = Encoder.longToBytes(System.currentTimeMillis());
+
+ byte[] dataBytes = data.getBytes("US-ASCII");
+ byte[] toCrypt = new byte[LONG_SIZE_IN_BYTES + dataBytes.length];
+ System.arraycopy(prependedBytes, 0, toCrypt, 0, LONG_SIZE_IN_BYTES);
+ System.arraycopy(dataBytes, 0, toCrypt, LONG_SIZE_IN_BYTES, dataBytes.length);
+
+
+ DESKeySpec desKeySpec = new DESKeySpec(CRYPTO_PASSWORD.getBytes());
+ SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(cipher);
+ SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
+
+ Cipher desCipher = Cipher.getInstance(cipher);
+ desCipher.init(Cipher.ENCRYPT_MODE, secretKey);
+
+ ByteArrayOutputStream bos = new ByteArrayOutputStream();
+ CipherOutputStream cos = new CipherOutputStream(bos, desCipher);
+ cos.write(toCrypt);
+ cos.close();
+ bos.close();
+
+ byte[] cypherBytes = bos.toByteArray();
+ return Base64.encodeBytes(cypherBytes);
+ }
+
+ /**
+ * Decrypt using the given cipher the given base64-encoded, crypted data.
+ * @param cipher the cypther to use.
+ * @param data the base64-encoded data to decrypt.
+ * @return decrypted data.
+ * @throws InvalidKeyException if the given key material is shorter than 8 bytes.
+ * @throws NoSuchAlgorithmException if a secret-key factory for the specified algorithm is not available in the
+ * default provider package or any of the other provider packages that were searched.
+ * @throws NoSuchPaddingException if transformation contains a padding scheme that is not available.
+ * @throws InvalidKeySpecException if the given key specification is inappropriate for this secret-key factory to
+ * produce a secret key.
+ * @throws IOException if an I/O error occurs.
+ */
+ public static String decrypt(String cipher, String data) throws InvalidKeyException, NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeySpecException, IOException {
+ DESKeySpec desKeySpec = new DESKeySpec(CRYPTO_PASSWORD.getBytes());
+ SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(cipher);
+ SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
+
+ Cipher desCipher = Cipher.getInstance(cipher);
+ desCipher.init(Cipher.DECRYPT_MODE, secretKey);
+
+ byte[] cypherBytes = Base64.decode(data);
+
+ ByteArrayInputStream bis = new ByteArrayInputStream(cypherBytes);
+ CipherInputStream cis = new CipherInputStream(bis, desCipher);
+
+ StringBuffer sb = new StringBuffer();
+
+ while (true) {
+ int b = cis.read();
+ if (b == -1)
+ break;
+ sb.append((char) b);
+ }
+
+ if (sb.length() < LONG_SIZE_IN_BYTES +1)
+ throw new BitronixRuntimeException("invalid crypted password '" + data + "'");
+
+ return sb.substring(LONG_SIZE_IN_BYTES);
+ }
+
+ /**
+ * Main method of this class to be used as a command-line tool to get a crypted version of a resource password.
+ * @param args the command-line arguments.
+ * @throws Exception when an error occurs crypting the given resource password.
+ */
+ public static void main(String[] args) throws Exception {
+ System.out.println("Bitronix Transaction Manager " + Version.getVersion() + " password property crypter");
+ System.out.flush();
+ if (args.length < 1 || args.length > 2) {
+ System.err.println("Usage: CryptoEngine <password> [cipher]");
+ System.err.println(" where:");
+ System.err.println(" <password> is mandatory and is the resource password to crypt");
+ System.err.println(" [cipher] is optional and is the cipher to be used to crypt the password");
+ System.exit(1);
+ }
+
+ String data = args[0];
+ String cipher = "DES";
+ if (args.length > 1)
+ cipher = args[1];
+
+ String propertyValue = "{" + cipher + "}" + crypt(cipher, data);
+
+ System.out.println("crypted password property value: " + propertyValue);
+ }
+
+
+ /**
+ * <p>Encode and decode to / from Base64 notation.</p>
+ * <p>Homepage: <a href="http://iharder.net/base64">http://iharder.net/base64</a>.</p>
+ * @author Robert Harder
+ * @author rob at iharder.net
+ */
+ private final static class Base64 {
+
+ public final static int NO_OPTIONS = 0;
+ public final static int ENCODE = 1;
+ public final static int DECODE = 0;
+ public final static int GZIP = 2;
+ public final static int DONT_BREAK_LINES = 8;
+ public final static int URL_SAFE = 16;
+ public final static int ORDERED = 32;
+
+ private final static int MAX_LINE_LENGTH = 76;
+ private final static byte EQUALS_SIGN = (byte) '=';
+ private final static byte NEW_LINE = (byte) '\n';
+ private final static String PREFERRED_ENCODING = "UTF-8";
+ private final static byte WHITE_SPACE_ENC = -5; // Indicates white space in encoding
+ private final static byte EQUALS_SIGN_ENC = -1; // Indicates equals sign in encoding
+
+
+ /**
+ * The 64 valid Base64 values.
+ */
+ //private final static byte[] ALPHABET;
+ /* Host platform me be something funny like EBCDIC, so we hardcode these values. */
+ private final static byte[] _STANDARD_ALPHABET =
+ {
+ (byte) 'A', (byte) 'B', (byte) 'C', (byte) 'D', (byte) 'E', (byte) 'F', (byte) 'G',
+ (byte) 'H', (byte) 'I', (byte) 'J', (byte) 'K', (byte) 'L', (byte) 'M', (byte) 'N',
+ (byte) 'O', (byte) 'P', (byte) 'Q', (byte) 'R', (byte) 'S', (byte) 'T', (byte) 'U',
+ (byte) 'V', (byte) 'W', (byte) 'X', (byte) 'Y', (byte) 'Z',
+ (byte) 'a', (byte) 'b', (byte) 'c', (byte) 'd', (byte) 'e', (byte) 'f', (byte) 'g',
+ (byte) 'h', (byte) 'i', (byte) 'j', (byte) 'k', (byte) 'l', (byte) 'm', (byte) 'n',
+ (byte) 'o', (byte) 'p', (byte) 'q', (byte) 'r', (byte) 's', (byte) 't', (byte) 'u',
+ (byte) 'v', (byte) 'w', (byte) 'x', (byte) 'y', (byte) 'z',
+ (byte) '0', (byte) '1', (byte) '2', (byte) '3', (byte) '4', (byte) '5',
+ (byte) '6', (byte) '7', (byte) '8', (byte) '9', (byte) '+', (byte) '/'
+ };
+
+
+ /**
+ * Translates a Base64 value to either its 6-bit reconstruction value
+ * or a negative number indicating some other meaning.
+ */
+ private final static byte[] _STANDARD_DECODABET =
+ {
+ -9, -9, -9, -9, -9, -9, -9, -9, -9, // Decimal 0 - 8
+ -5, -5, // Whitespace: Tab and Linefeed
+ -9, -9, // Decimal 11 - 12
+ -5, // Whitespace: Carriage Return
+ -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, // Decimal 14 - 26
+ -9, -9, -9, -9, -9, // Decimal 27 - 31
+ -5, // Whitespace: Space
+ -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, // Decimal 33 - 42
+ 62, // Plus sign at decimal 43
+ -9, -9, -9, // Decimal 44 - 46
+ 63, // Slash at decimal 47
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, // Numbers zero through nine
+ -9, -9, -9, // Decimal 58 - 60
+ -1, // Equals sign at decimal 61
+ -9, -9, -9, // Decimal 62 - 64
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, // Letters 'A' through 'N'
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, // Letters 'O' through 'Z'
+ -9, -9, -9, -9, -9, -9, // Decimal 91 - 96
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, // Letters 'a' through 'm'
+ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, // Letters 'n' through 'z'
+ -9, -9, -9, -9 // Decimal 123 - 126
+ /*,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9, // Decimal 127 - 139
+ -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9, // Decimal 140 - 152
+ -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9, // Decimal 153 - 165
+ -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9, // Decimal 166 - 178
+ -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9, // Decimal 179 - 191
+ -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9, // Decimal 192 - 204
+ -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9, // Decimal 205 - 217
+ -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9, // Decimal 218 - 230
+ -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9, // Decimal 231 - 243
+ -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 // Decimal 244 - 255 */
+ };
+
+
+ /**
+ * Used in the URL- and Filename-safe dialect described in Section 4 of RFC3548:
+ * <a href="http://www.faqs.org/rfcs/rfc3548.html">http://www.faqs.org/rfcs/rfc3548.html</a>.
+ * Notice that the last two bytes become "hyphen" and "underscore" instead of "plus" and "slash."
+ */
+ private final static byte[] _URL_SAFE_ALPHABET =
+ {
+ (byte) 'A', (byte) 'B', (byte) 'C', (byte) 'D', (byte) 'E', (byte) 'F', (byte) 'G',
+ (byte) 'H', (byte) 'I', (byte) 'J', (byte) 'K', (byte) 'L', (byte) 'M', (byte) 'N',
+ (byte) 'O', (byte) 'P', (byte) 'Q', (byte) 'R', (byte) 'S', (byte) 'T', (byte) 'U',
+ (byte) 'V', (byte) 'W', (byte) 'X', (byte) 'Y', (byte) 'Z',
+ (byte) 'a', (byte) 'b', (byte) 'c', (byte) 'd', (byte) 'e', (byte) 'f', (byte) 'g',
+ (byte) 'h', (byte) 'i', (byte) 'j', (byte) 'k', (byte) 'l', (byte) 'm', (byte) 'n',
+ (byte) 'o', (byte) 'p', (byte) 'q', (byte) 'r', (byte) 's', (byte) 't', (byte) 'u',
+ (byte) 'v', (byte) 'w', (byte) 'x', (byte) 'y', (byte) 'z',
+ (byte) '0', (byte) '1', (byte) '2', (byte) '3', (byte) '4', (byte) '5',
+ (byte) '6', (byte) '7', (byte) '8', (byte) '9', (byte) '-', (byte) '_'
+ };
+
+ /**
+ * Used in decoding URL- and Filename-safe dialects of Base64.
+ */
+ private final static byte[] _URL_SAFE_DECODABET =
+ {
+ -9, -9, -9, -9, -9, -9, -9, -9, -9, // Decimal 0 - 8
+ -5, -5, // Whitespace: Tab and Linefeed
+ -9, -9, // Decimal 11 - 12
+ -5, // Whitespace: Carriage Return
+ -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, // Decimal 14 - 26
+ -9, -9, -9, -9, -9, // Decimal 27 - 31
+ -5, // Whitespace: Space
+ -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, // Decimal 33 - 42
+ -9, // Plus sign at decimal 43
+ -9, // Decimal 44
+ 62, // Minus sign at decimal 45
+ -9, // Decimal 46
+ -9, // Slash at decimal 47
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, // Numbers zero through nine
+ -9, -9, -9, // Decimal 58 - 60
+ -1, // Equals sign at decimal 61
+ -9, -9, -9, // Decimal 62 - 64
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, // Letters 'A' through 'N'
+ 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, // Letters 'O' through 'Z'
+ -9, -9, -9, -9, // Decimal 91 - 94
+ 63, // Underscore at decimal 95
+ -9, // Decimal 96
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, // Letters 'a' through 'm'
+ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, // Letters 'n' through 'z'
+ -9, -9, -9, -9 // Decimal 123 - 126
+ /*,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9, // Decimal 127 - 139
+ -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9, // Decimal 140 - 152
+ -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9, // Decimal 153 - 165
+ -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9, // Decimal 166 - 178
+ -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9, // Decimal 179 - 191
+ -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9, // Decimal 192 - 204
+ -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9, // Decimal 205 - 217
+ -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9, // Decimal 218 - 230
+ -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9, // Decimal 231 - 243
+ -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 // Decimal 244 - 255 */
+ };
+
+ /**
+ * I don't get the point of this technique, but it is described here:
+ * <a href="http://www.faqs.org/qa/rfcc-1940.html">http://www.faqs.org/qa/rfcc-1940.html</a>.
+ */
+ private final static byte[] _ORDERED_ALPHABET =
+ {
+ (byte) '-',
+ (byte) '0', (byte) '1', (byte) '2', (byte) '3', (byte) '4',
+ (byte) '5', (byte) '6', (byte) '7', (byte) '8', (byte) '9',
+ (byte) 'A', (byte) 'B', (byte) 'C', (byte) 'D', (byte) 'E', (byte) 'F', (byte) 'G',
+ (byte) 'H', (byte) 'I', (byte) 'J', (byte) 'K', (byte) 'L', (byte) 'M', (byte) 'N',
+ (byte) 'O', (byte) 'P', (byte) 'Q', (byte) 'R', (byte) 'S', (byte) 'T', (byte) 'U',
+ (byte) 'V', (byte) 'W', (byte) 'X', (byte) 'Y', (byte) 'Z',
+ (byte) '_',
+ (byte) 'a', (byte) 'b', (byte) 'c', (byte) 'd', (byte) 'e', (byte) 'f', (byte) 'g',
+ (byte) 'h', (byte) 'i', (byte) 'j', (byte) 'k', (byte) 'l', (byte) 'm', (byte) 'n',
+ (byte) 'o', (byte) 'p', (byte) 'q', (byte) 'r', (byte) 's', (byte) 't', (byte) 'u',
+ (byte) 'v', (byte) 'w', (byte) 'x', (byte) 'y', (byte) 'z'
+ };
+
+ /**
+ * Used in decoding the "ordered" dialect of Base64.
+ */
+ private final static byte[] _ORDERED_DECODABET =
+ {
+ -9, -9, -9, -9, -9, -9, -9, -9, -9, // Decimal 0 - 8
+ -5, -5, // Whitespace: Tab and Linefeed
+ -9, -9, // Decimal 11 - 12
+ -5, // Whitespace: Carriage Return
+ -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, // Decimal 14 - 26
+ -9, -9, -9, -9, -9, // Decimal 27 - 31
+ -5, // Whitespace: Space
+ -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, // Decimal 33 - 42
+ -9, // Plus sign at decimal 43
+ -9, // Decimal 44
+ 0, // Minus sign at decimal 45
+ -9, // Decimal 46
+ -9, // Slash at decimal 47
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, // Numbers zero through nine
+ -9, -9, -9, // Decimal 58 - 60
+ -1, // Equals sign at decimal 61
+ -9, -9, -9, // Decimal 62 - 64
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, // Letters 'A' through 'M'
+ 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, // Letters 'N' through 'Z'
+ -9, -9, -9, -9, // Decimal 91 - 94
+ 37, // Underscore at decimal 95
+ -9, // Decimal 96
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, // Letters 'a' through 'm'
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, // Letters 'n' through 'z'
+ -9, -9, -9, -9 // Decimal 123 - 126
+ /*,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9, // Decimal 127 - 139
+ -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9, // Decimal 140 - 152
+ -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9, // Decimal 153 - 165
+ -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9, // Decimal 166 - 178
+ -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9, // Decimal 179 - 191
+ -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9, // Decimal 192 - 204
+ -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9, // Decimal 205 - 217
+ -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9, // Decimal 218 - 230
+ -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9, // Decimal 231 - 243
+ -9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9 // Decimal 244 - 255 */
+ };
+
+ /**
+ * Returns one of the _SOMETHING_ALPHABET byte arrays depending on
+ * the options specified.
+ * It's possible, though silly, to specify ORDERED and URLSAFE
+ * in which case one of them will be picked, though there is
+ * no guarantee as to which one will be picked.
+ * @param options the options
+ * @return a byte array
+ */
+ private static byte[] getAlphabet(int options) {
+ if ((options & URL_SAFE) == URL_SAFE) return _URL_SAFE_ALPHABET;
+ else if ((options & ORDERED) == ORDERED) return _ORDERED_ALPHABET;
+ else return _STANDARD_ALPHABET;
+
+ } // end getAlphabet
+
+
+ /**
+ * Returns one of the _SOMETHING_DECODABET byte arrays depending on
+ * the options specified.
+ * It's possible, though silly, to specify ORDERED and URL_SAFE
+ * in which case one of them will be picked, though there is
+ * no guarantee as to which one will be picked.
+ * @param options the options
+ * @return a byte array
+ */
+ private static byte[] getDecodabet(int options) {
+ if ((options & URL_SAFE) == URL_SAFE) return _URL_SAFE_DECODABET;
+ else if ((options & ORDERED) == ORDERED) return _ORDERED_DECODABET;
+ else return _STANDARD_DECODABET;
+
+ } // end getAlphabet
+
+
+ /**
+ * Defeats instantiation.
+ */
+ private Base64() {
+ }
+
+
+ /**
+ * Encodes up to the first three bytes of array <var>threeBytes</var>
+ * and returns a four-byte array in Base64 notation.
+ * The actual number of significant bytes in your array is
+ * given by <var>numSigBytes</var>.
+ * The array <var>threeBytes</var> needs only be as big as
+ * <var>numSigBytes</var>.
+ * Code can reuse a byte array by passing a four-byte array as <var>b4</var>.
+ *
+ * @param b4 A reusable byte array to reduce array instantiation
+ * @param threeBytes the array to convert
+ * @param numSigBytes the number of significant bytes in your array
+ * @param options the options
+ * @return four byte array in Base64 notation.
+ * @since 1.5.1
+ */
+ private static byte[] encode3to4(byte[] b4, byte[] threeBytes, int numSigBytes, int options) {
+ encode3to4(threeBytes, 0, numSigBytes, b4, 0, options);
+ return b4;
+ } // end encode3to4
+
+
+ /**
+ * <p>Encodes up to three bytes of the array <var>source</var>
+ * and writes the resulting four Base64 bytes to <var>destination</var>.
+ * The source and destination arrays can be manipulated
+ * anywhere along their length by specifying
+ * <var>srcOffset</var> and <var>destOffset</var>.
+ * This method does not check to make sure your arrays
+ * are large enough to accomodate <var>srcOffset</var> + 3 for
+ * the <var>source</var> array or <var>destOffset</var> + 4 for
+ * the <var>destination</var> array.
+ * The actual number of significant bytes in your array is
+ * given by <var>numSigBytes</var>.</p>
+ * <p>This is the lowest level of the encoding methods with
+ * all possible parameters.</p>
+ *
+ * @param source the array to convert
+ * @param srcOffset the index where conversion begins
+ * @param numSigBytes the number of significant bytes in your array
+ * @param destination the array to hold the conversion
+ * @param destOffset the index where output will be put
+ * @param options the options
+ * @return the <var>destination</var> array
+ * @since 1.3
+ */
+ private static byte[] encode3to4(
+ byte[] source, int srcOffset, int numSigBytes,
+ byte[] destination, int destOffset, int options) {
+ byte[] ALPHABET = getAlphabet(options);
+
+ // 1 2 3
+ // 01234567890123456789012345678901 Bit position
+ // --------000000001111111122222222 Array position from threeBytes
+ // --------| || || || | Six bit groups to index ALPHABET
+ // >>18 >>12 >> 6 >> 0 Right shift necessary
+ // 0x3f 0x3f 0x3f Additional AND
+
+ // Create buffer with zero-padding if there are only one or two
+ // significant bytes passed in the array.
+ // We have to shift left 24 in order to flush out the 1's that appear
+ // when Java treats a value as negative that is cast from a byte to an int.
+ int inBuff = (numSigBytes > 0 ? ((source[srcOffset] << 24) >>> 8) : 0)
+ | (numSigBytes > 1 ? ((source[srcOffset + 1] << 24) >>> 16) : 0)
+ | (numSigBytes > 2 ? ((source[srcOffset + 2] << 24) >>> 24) : 0);
+
+ switch (numSigBytes) {
+ case 3:
+ destination[destOffset] = ALPHABET[(inBuff >>> 18)];
+ destination[destOffset + 1] = ALPHABET[(inBuff >>> 12) & 0x3f];
+ destination[destOffset + 2] = ALPHABET[(inBuff >>> 6) & 0x3f];
+ destination[destOffset + 3] = ALPHABET[(inBuff) & 0x3f];
+ return destination;
+
+ case 2:
+ destination[destOffset] = ALPHABET[(inBuff >>> 18)];
+ destination[destOffset + 1] = ALPHABET[(inBuff >>> 12) & 0x3f];
+ destination[destOffset + 2] = ALPHABET[(inBuff >>> 6) & 0x3f];
+ destination[destOffset + 3] = EQUALS_SIGN;
+ return destination;
+
+ case 1:
+ destination[destOffset] = ALPHABET[(inBuff >>> 18)];
+ destination[destOffset + 1] = ALPHABET[(inBuff >>> 12) & 0x3f];
+ destination[destOffset + 2] = EQUALS_SIGN;
+ destination[destOffset + 3] = EQUALS_SIGN;
+ return destination;
+
+ default:
+ return destination;
+ } // end switch
+ } // end encode3to4
+
+ /**
+ * Encodes a byte array into Base64 notation.
+ * Does not GZip-compress data.
+ *
+ * @param source The data to convert
+ * @return a String
+ * @since 1.4
+ */
+ public static String encodeBytes(byte[] source) {
+ return encodeBytes(source, 0, source.length, NO_OPTIONS);
+ } // end encodeBytes
+
+ /**
+ * Encodes a byte array into Base64 notation.
+ * <p/>
+ * Valid options:<pre>
+ * GZIP: gzip-compresses object before encoding it.
+ * DONT_BREAK_LINES: don't break lines at 76 characters
+ * <i>Note: Technically, this makes your encoding non-compliant.</i>
+ * </pre>
+ * <p/>
+ * Example: <code>encodeBytes( myData, Base64.GZIP )</code> or
+ * <p/>
+ * Example: <code>encodeBytes( myData, Base64.GZIP | Base64.DONT_BREAK_LINES )</code>
+ *
+ * @param source The data to convert
+ * @param off Offset in array where conversion should begin
+ * @param len Length of data to convert
+ * @param options alphabet type is pulled from this (standard, url-safe, ordered)
+ * @see Base64#GZIP
+ * @see Base64#DONT_BREAK_LINES
+ * @since 2.0
+ * @return a String
+ */
+ public static String encodeBytes(byte[] source, int off, int len, int options) {
+ // Isolate options
+ int dontBreakLines = (options & DONT_BREAK_LINES);
+ int gzip = (options & GZIP);
+
+ // Compress?
+ if (gzip == GZIP) {
+ java.io.ByteArrayOutputStream baos = null;
+ java.util.zip.GZIPOutputStream gzos = null;
+ Base64.OutputStream b64os = null;
+
+
+ try {
+ // GZip -> Base64 -> ByteArray
+ baos = new java.io.ByteArrayOutputStream();
+ b64os = new Base64.OutputStream(baos, ENCODE | options);
+ gzos = new java.util.zip.GZIPOutputStream(b64os);
+
+ gzos.write(source, off, len);
+ gzos.close();
+ } // end try
+ catch (java.io.IOException e) {
+ e.printStackTrace();
+ return null;
+ } // end catch
+ finally {
+ try {
+ gzos.close();
+ } catch (Exception e) {
+ // ignore
+ }
+ try {
+ b64os.close();
+ } catch (Exception e) {
+ // ignore
+ }
+ try {
+ baos.close();
+ } catch (Exception e) {
+ // ignore
+ }
+ } // end finally
+
+ // Return value according to relevant encoding.
+ try {
+ return new String(baos.toByteArray(), PREFERRED_ENCODING);
+ } // end try
+ catch (java.io.UnsupportedEncodingException uue) {
+ return new String(baos.toByteArray());
+ } // end catch
+ } // end if: compress
+
+ // Else, don't compress. Better not to use streams at all then.
+ else {
+ // Convert option to boolean in way that code likes it.
+ boolean breakLines = dontBreakLines == 0;
+
+ int len43 = len * 4 / 3;
+ byte[] outBuff = new byte[(len43) // Main 4:3
+ + ((len % 3) > 0 ? 4 : 0) // Account for padding
+ + (breakLines ? (len43 / MAX_LINE_LENGTH) : 0)]; // New lines
+ int d = 0;
+ int e = 0;
+ int len2 = len - 2;
+ int lineLength = 0;
+ for (; d < len2; d += 3, e += 4) {
+ encode3to4(source, d + off, 3, outBuff, e, options);
+
+ lineLength += 4;
+ if (breakLines && lineLength == MAX_LINE_LENGTH) {
+ outBuff[e + 4] = NEW_LINE;
+ e++;
+ lineLength = 0;
+ } // end if: end of line
+ } // en dfor: each piece of array
+
+ if (d < len) {
+ encode3to4(source, d + off, len - d, outBuff, e, options);
+ e += 4;
+ } // end if: some padding needed
+
+ // Return value according to relevant encoding.
+ try {
+ return new String(outBuff, 0, e, PREFERRED_ENCODING);
+ } // end try
+ catch (java.io.UnsupportedEncodingException uue) {
+ return new String(outBuff, 0, e);
+ } // end catch
+
+ } // end else: don't compress
+
+ } // end encodeBytes
+
+ /**
+ * Decodes four bytes from array <var>source</var>
+ * and writes the resulting bytes (up to three of them)
+ * to <var>destination</var>.
+ * The source and destination arrays can be manipulated
+ * anywhere along their length by specifying
+ * <var>srcOffset</var> and <var>destOffset</var>.
+ * This method does not check to make sure your arrays
+ * are large enough to accomodate <var>srcOffset</var> + 4 for
+ * the <var>source</var> array or <var>destOffset</var> + 3 for
+ * the <var>destination</var> array.
+ * This method returns the actual number of bytes that
+ * were converted from the Base64 encoding.
+ * <p>This is the lowest level of the decoding methods with
+ * all possible parameters.</p>
+ *
+ * @param source the array to convert
+ * @param srcOffset the index where conversion begins
+ * @param destination the array to hold the conversion
+ * @param destOffset the index where output will be put
+ * @param options alphabet type is pulled from this (standard, url-safe, ordered)
+ * @return the number of decoded bytes converted
+ * @since 1.3
+ */
+ private static int decode4to3(byte[] source, int srcOffset, byte[] destination, int destOffset, int options) {
+ byte[] DECODABET = getDecodabet(options);
+
+ // Example: Dk==
+ if (source[srcOffset + 2] == EQUALS_SIGN) {
+ // Two ways to do the same thing. Don't know which way I like best.
+ //int outBuff = ( ( DECODABET[ source[ srcOffset ] ] << 24 ) >>> 6 )
+ // | ( ( DECODABET[ source[ srcOffset + 1] ] << 24 ) >>> 12 );
+ int outBuff = ((DECODABET[source[srcOffset]] & 0xFF) << 18)
+ | ((DECODABET[source[srcOffset + 1]] & 0xFF) << 12);
+
+ destination[destOffset] = (byte) (outBuff >>> 16);
+ return 1;
+ }
+
+ // Example: DkL=
+ else if (source[srcOffset + 3] == EQUALS_SIGN) {
+ // Two ways to do the same thing. Don't know which way I like best.
+ //int outBuff = ( ( DECODABET[ source[ srcOffset ] ] << 24 ) >>> 6 )
+ // | ( ( DECODABET[ source[ srcOffset + 1 ] ] << 24 ) >>> 12 )
+ // | ( ( DECODABET[ source[ srcOffset + 2 ] ] << 24 ) >>> 18 );
+ int outBuff = ((DECODABET[source[srcOffset]] & 0xFF) << 18)
+ | ((DECODABET[source[srcOffset + 1]] & 0xFF) << 12)
+ | ((DECODABET[source[srcOffset + 2]] & 0xFF) << 6);
+
+ destination[destOffset] = (byte) (outBuff >>> 16);
+ destination[destOffset + 1] = (byte) (outBuff >>> 8);
+ return 2;
+ }
+
+ // Example: DkLE
+ else {
+ try {
+ // Two ways to do the same thing. Don't know which way I like best.
+ //int outBuff = ( ( DECODABET[ source[ srcOffset ] ] << 24 ) >>> 6 )
+ // | ( ( DECODABET[ source[ srcOffset + 1 ] ] << 24 ) >>> 12 )
+ // | ( ( DECODABET[ source[ srcOffset + 2 ] ] << 24 ) >>> 18 )
+ // | ( ( DECODABET[ source[ srcOffset + 3 ] ] << 24 ) >>> 24 );
+ int outBuff = ((DECODABET[source[srcOffset]] & 0xFF) << 18)
+ | ((DECODABET[source[srcOffset + 1]] & 0xFF) << 12)
+ | ((DECODABET[source[srcOffset + 2]] & 0xFF) << 6)
+ | ((DECODABET[source[srcOffset + 3]] & 0xFF));
+
+
+ destination[destOffset] = (byte) (outBuff >> 16);
+ destination[destOffset + 1] = (byte) (outBuff >> 8);
+ destination[destOffset + 2] = (byte) (outBuff);
+
+ return 3;
+ } catch (Exception e) {
+ System.out.println("" + source[srcOffset] + ": " + (DECODABET[source[srcOffset]]));
+ System.out.println("" + source[srcOffset + 1] + ": " + (DECODABET[source[srcOffset + 1]]));
+ System.out.println("" + source[srcOffset + 2] + ": " + (DECODABET[source[srcOffset + 2]]));
+ System.out.println("" + source[srcOffset + 3] + ": " + (DECODABET[source[srcOffset + 3]]));
+ return -1;
+ } // end catch
+ }
+ } // end decodeToBytes
+
+
+ /**
+ * Very low-level access to decoding ASCII characters in
+ * the form of a byte array. Does not support automatically
+ * gunzipping or any other "fancy" features.
+ *
+ * @param source The Base64 encoded data
+ * @param off The offset of where to begin decoding
+ * @param len The length of characters to decode
+ * @param options the options
+ * @return decoded data
+ * @since 1.3
+ */
+ public static byte[] decode(byte[] source, int off, int len, int options) {
+ byte[] DECODABET = getDecodabet(options);
+
+ int len34 = len * 3 / 4;
+ byte[] outBuff = new byte[len34]; // Upper limit on size of output
+ int outBuffPosn = 0;
+
+ byte[] b4 = new byte[4];
+ int b4Posn = 0;
+ int i;
+ byte sbiCrop;
+ byte sbiDecode;
+ for (i = off; i < off + len; i++) {
+ sbiCrop = (byte) (source[i] & 0x7f); // Only the low seven bits
+ sbiDecode = DECODABET[sbiCrop];
+
+ if (sbiDecode >= WHITE_SPACE_ENC) // White space, Equals sign or better
+ {
+ if (sbiDecode >= EQUALS_SIGN_ENC) {
+ b4[b4Posn++] = sbiCrop;
+ if (b4Posn > 3) {
+ outBuffPosn += decode4to3(b4, 0, outBuff, outBuffPosn, options);
+ b4Posn = 0;
+
+ // If that was the equals sign, break out of 'for' loop
+ if (sbiCrop == EQUALS_SIGN)
+ break;
+ } // end if: quartet built
+
+ } // end if: equals sign or better
+
+ } // end if: white space, equals sign or better
+ else {
+ System.err.println("Bad Base64 input character at " + i + ": " + source[i] + "(decimal)");
+ return null;
+ } // end else:
+ } // each input character
+
+ byte[] out = new byte[outBuffPosn];
+ System.arraycopy(outBuff, 0, out, 0, outBuffPosn);
+ return out;
+ } // end decode
+
+
+ /**
+ * Decodes data from Base64 notation, automatically
+ * detecting gzip-compressed data and decompressing it.
+ *
+ * @param s the string to decode
+ * @return the decoded data
+ * @since 1.4
+ */
+ public static byte[] decode(String s) {
+ return decode(s, NO_OPTIONS);
+ }
+
+
+ /**
+ * Decodes data from Base64 notation, automatically
+ * detecting gzip-compressed data and decompressing it.
+ *
+ * @param s the string to decode
+ * @param options encode options such as URL_SAFE
+ * @return the decoded data
+ * @since 1.4
+ */
+ public static byte[] decode(String s, int options) {
+ byte[] bytes;
+ try {
+ bytes = s.getBytes(PREFERRED_ENCODING);
+ } // end try
+ catch (java.io.UnsupportedEncodingException uee) {
+ bytes = s.getBytes();
+ } // end catch
+ //</change>
+
+ // Decode
+ bytes = decode(bytes, 0, bytes.length, options);
+
+ // Check to see if it's gzip-compressed
+ // GZIP Magic Two-Byte Number: 0x8b1f (35615)
+ if (bytes != null && bytes.length >= 4) {
+
+ int head = ((int) bytes[0] & 0xff) | ((bytes[1] << 8) & 0xff00);
+ if (java.util.zip.GZIPInputStream.GZIP_MAGIC == head) {
+ java.io.ByteArrayInputStream bais = null;
+ java.util.zip.GZIPInputStream gzis = null;
+ java.io.ByteArrayOutputStream baos = null;
+ byte[] buffer = new byte[2048];
+ int length;
+
+ try {
+ baos = new java.io.ByteArrayOutputStream();
+ bais = new java.io.ByteArrayInputStream(bytes);
+ gzis = new java.util.zip.GZIPInputStream(bais);
+
+ while ((length = gzis.read(buffer)) >= 0) {
+ baos.write(buffer, 0, length);
+ } // end while: reading input
+
+ // No error? Get new bytes.
+ bytes = baos.toByteArray();
+
+ } // end try
+ catch (java.io.IOException e) {
+ // Just return originally-decoded bytes
+ } // end catch
+ finally {
+ try {
+ baos.close();
+ } catch (Exception e) {
+ // ignore
+ }
+ try {
+ gzis.close();
+ } catch (Exception e) {
+ // ignore
+ }
+ try {
+ bais.close();
+ } catch (Exception e) {
+ // ignore
+ }
+ } // end finally
+
+ } // end if: gzipped
+ } // end if: bytes.length >= 2
+
+ return bytes;
+ } // end decode
+
+
+ /**
+ * Attempts to decode Base64 data and deserialize a Java
+ * Object within. Returns <tt>null</tt> if there was an error.
+ *
+ * @param encodedObject The Base64 data to decode
+ * @return The decoded and deserialized object
+ * @since 1.5
+ */
+ public static Object decodeToObject(String encodedObject) {
+ // Decode and gunzip if necessary
+ byte[] objBytes = decode(encodedObject);
+
+ java.io.ByteArrayInputStream bais = null;
+ java.io.ObjectInputStream ois = null;
+ Object obj = null;
+
+ try {
+ bais = new java.io.ByteArrayInputStream(objBytes);
+ ois = new java.io.ObjectInputStream(bais);
+
+ obj = ois.readObject();
+ } // end try
+ catch (java.io.IOException e) {
+ e.printStackTrace();
+ obj = null;
+ } // end catch
+ catch (java.lang.ClassNotFoundException e) {
+ e.printStackTrace();
+ obj = null;
+ } // end catch
+ finally {
+ try {
+ if (bais != null) bais.close();
+ } catch (Exception e) {
+ // ignore
+ }
+ try {
+ if (ois != null) ois.close();
+ } catch (Exception e) {
+ // ignore
+ }
+ } // end finally
+
+ return obj;
+ } // end decodeObject
+
+ /**
+ * A {@link Base64.OutputStream} will write data to another
+ * <tt>java.io.OutputStream</tt>, given in the constructor,
+ * and encode/decode to/from Base64 notation on the fly.
+ *
+ * @see Base64
+ * @since 1.3
+ */
+ public static class OutputStream extends java.io.FilterOutputStream {
+ private boolean encode;
+ private int position;
+ private byte[] buffer;
+ private int bufferLength;
+ private int lineLength;
+ private boolean breakLines;
+ private byte[] b4; // Scratch used in a few places
+ private boolean suspendEncoding;
+ private int options; // Record for later
+ private byte[] decodabet; // Local copies to avoid extra method calls
+
+ /**
+ * Constructs a {@link Base64.OutputStream} in ENCODE mode.
+ *
+ * @param out the <tt>java.io.OutputStream</tt> to which data will be written.
+ * @since 1.3
+ */
+ public OutputStream(java.io.OutputStream out) {
+ this(out, ENCODE);
+ } // end constructor
+
+
+ /**
+ * Constructs a {@link Base64.OutputStream} in
+ * either ENCODE or DECODE mode.
+ * <p/>
+ * Valid options:<pre>
+ * ENCODE or DECODE: Encode or Decode as data is read.
+ * DONT_BREAK_LINES: don't break lines at 76 characters
+ * (only meaningful when encoding)
+ * <i>Note: Technically, this makes your encoding non-compliant.</i>
+ * </pre>
+ * <p/>
+ * Example: <code>new Base64.OutputStream( out, Base64.ENCODE )</code>
+ *
+ * @param out the <tt>java.io.OutputStream</tt> to which data will be written.
+ * @param options Specified options.
+ * @see Base64#ENCODE
+ * @see Base64#DECODE
+ * @see Base64#DONT_BREAK_LINES
+ * @since 1.3
+ */
+ public OutputStream(java.io.OutputStream out, int options) {
+ super(out);
+ this.breakLines = (options & DONT_BREAK_LINES) != DONT_BREAK_LINES;
+ this.encode = (options & ENCODE) == ENCODE;
+ this.bufferLength = encode ? 3 : 4;
+ this.buffer = new byte[bufferLength];
+ this.position = 0;
+ this.lineLength = 0;
+ this.suspendEncoding = false;
+ this.b4 = new byte[4];
+ this.options = options;
+ this.decodabet = getDecodabet(options);
+ } // end constructor
+
+
+ /**
+ * Writes the byte to the output stream after
+ * converting to/from Base64 notation.
+ * When encoding, bytes are buffered three
+ * at a time before the output stream actually
+ * gets a write() call.
+ * When decoding, bytes are buffered four
+ * at a time.
+ *
+ * @param theByte the byte to write
+ * @since 1.3
+ */
+ public void write(int theByte) throws java.io.IOException {
+ // Encoding suspended?
+ if (suspendEncoding) {
+ super.out.write(theByte);
+ return;
+ } // end if: supsended
+
+ // Encode?
+ if (encode) {
+ buffer[position++] = (byte) theByte;
+ if (position >= bufferLength) // Enough to encode.
+ {
+ out.write(encode3to4(b4, buffer, bufferLength, options));
+
+ lineLength += 4;
+ if (breakLines && lineLength >= MAX_LINE_LENGTH) {
+ out.write(NEW_LINE);
+ lineLength = 0;
+ } // end if: end of line
+
+ position = 0;
+ } // end if: enough to output
+ } // end if: encoding
+
+ // Else, Decoding
+ else {
+ // Meaningful Base64 character?
+ if (decodabet[theByte & 0x7f] > WHITE_SPACE_ENC) {
+ buffer[position++] = (byte) theByte;
+ if (position >= bufferLength) // Enough to output.
+ {
+ int len = Base64.decode4to3(buffer, 0, b4, 0, options);
+ out.write(b4, 0, len);
+ //out.write( Base64.decode4to3( buffer ) );
+ position = 0;
+ } // end if: enough to output
+ } // end if: meaningful base64 character
+ else if (decodabet[theByte & 0x7f] != WHITE_SPACE_ENC) {
+ throw new java.io.IOException("Invalid character in Base64 data.");
+ } // end else: not white space either
+ } // end else: decoding
+ } // end write
+
+
+ /**
+ * Calls {@link #write(int)} repeatedly until <var>len</var>
+ * bytes are written.
+ *
+ * @param theBytes array from which to read bytes
+ * @param off offset for array
+ * @param len max number of bytes to read into array
+ * @since 1.3
+ */
+ public void write(byte[] theBytes, int off, int len) throws java.io.IOException {
+ // Encoding suspended?
+ if (suspendEncoding) {
+ super.out.write(theBytes, off, len);
+ return;
+ } // end if: supsended
+
+ for (int i = 0; i < len; i++) {
+ write(theBytes[off + i]);
+ } // end for: each byte written
+
+ } // end write
+
+
+ /**
+ * Method added by PHIL. [Thanks, PHIL. -Rob]
+ * This pads the buffer without closing the stream.
+ * @throws java.io.IOException when wrong padding is used
+ */
+ public void flushBase64() throws java.io.IOException {
+ if (position > 0) {
+ if (encode) {
+ out.write(encode3to4(b4, buffer, position, options));
+ position = 0;
+ } // end if: encoding
+ else {
+ throw new java.io.IOException("Base64 input not properly padded.");
+ } // end else: decoding
+ } // end if: buffer partially full
+
+ } // end flush
+
+
+ /**
+ * Flushes and closes (I think, in the superclass) the stream.
+ *
+ * @since 1.3
+ */
+ public void close() throws java.io.IOException {
+ // 1. Ensure that pending characters are written
+ flushBase64();
+
+ // 2. Actually close the stream
+ // Base class both flushes and closes.
+ super.close();
+
+ buffer = null;
+ out = null;
+ } // end close
+
+
+ /**
+ * Suspends encoding of the stream.
+ * May be helpful if you need to embed a piece of
+ * base640-encoded data in a stream.
+ *
+ * @since 1.5.1
+ * @throws java.io.IOException never thrown
+ */
+ public void suspendEncoding() throws java.io.IOException {
+ flushBase64();
+ this.suspendEncoding = true;
+ } // end suspendEncoding
+
+
+ /**
+ * Resumes encoding of the stream.
+ * May be helpful if you need to embed a piece of
+ * base640-encoded data in a stream.
+ *
+ * @since 1.5.1
+ */
+ public void resumeEncoding() {
+ this.suspendEncoding = false;
+ } // end resumeEncoding
+
+ } // end inner class OutputStream
+ } // end class Base64
+
+}
diff --git a/src/bitronix/tm/utils/Decoder.java b/src/bitronix/tm/utils/Decoder.java
new file mode 100644
index 0000000..2163ed0
--- /dev/null
+++ b/src/bitronix/tm/utils/Decoder.java
@@ -0,0 +1,152 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.utils;
+
+import bitronix.tm.journal.TransactionLogHeader;
+import bitronix.tm.resource.common.XAStatefulHolder;
+import bitronix.tm.internal.XAResourceHolderState;
+
+import javax.transaction.Status;
+import javax.transaction.xa.XAException;
+import javax.transaction.xa.XAResource;
+import java.util.Collection;
+import java.util.Iterator;
+
+/**
+ * Constant to string decoder.
+ *
+ * @author lorban
+ */
+public class Decoder {
+
+ public static String decodeXAExceptionErrorCode(XAException ex) {
+ switch (ex.errorCode) {
+ // rollback errors
+ case XAException.XA_RBROLLBACK: return "XA_RBROLLBACK";
+ case XAException.XA_RBCOMMFAIL: return "XA_RBCOMMFAIL";
+ case XAException.XA_RBDEADLOCK: return "XA_RBDEADLOCK";
+ case XAException.XA_RBTRANSIENT: return "XA_RBTRANSIENT";
+ case XAException.XA_RBINTEGRITY: return "XA_RBINTEGRITY";
+ case XAException.XA_RBOTHER: return "XA_RBOTHER";
+ case XAException.XA_RBPROTO: return "XA_RBPROTO";
+ case XAException.XA_RBTIMEOUT: return "XA_RBTIMEOUT";
+
+ // heuristic errors
+ case XAException.XA_HEURCOM: return "XA_HEURCOM";
+ case XAException.XA_HEURHAZ: return "XA_HEURHAZ";
+ case XAException.XA_HEURMIX: return "XA_HEURMIX";
+ case XAException.XA_HEURRB: return "XA_HEURRB";
+
+ // misc failures errors
+ case XAException.XAER_RMERR: return "XAER_RMERR";
+ case XAException.XAER_RMFAIL: return "XAER_RMFAIL";
+ case XAException.XAER_NOTA: return "XAER_NOTA";
+ case XAException.XAER_INVAL: return "XAER_INVAL";
+ case XAException.XAER_PROTO: return "XAER_PROTO";
+ case XAException.XAER_ASYNC: return "XAER_ASYNC";
+ case XAException.XAER_DUPID: return "XAER_DUPID";
+ case XAException.XAER_OUTSIDE: return "XAER_OUTSIDE";
+
+ default: return "!invalid error code (" + ex.errorCode + ")!";
+ }
+ }
+
+ public static String decodeStatus(int status) {
+ switch (status) {
+ case Status.STATUS_ACTIVE: return "ACTIVE";
+ case Status.STATUS_COMMITTED: return "COMMITTED";
+ case Status.STATUS_COMMITTING: return "COMMITTING";
+ case Status.STATUS_MARKED_ROLLBACK: return "MARKED_ROLLBACK";
+ case Status.STATUS_NO_TRANSACTION: return "NO_TRANSACTION";
+ case Status.STATUS_PREPARED: return "PREPARED";
+ case Status.STATUS_PREPARING: return "PREPARING";
+ case Status.STATUS_ROLLEDBACK: return "ROLLEDBACK";
+ case Status.STATUS_ROLLING_BACK: return "ROLLING_BACK";
+ case Status.STATUS_UNKNOWN: return "UNKNOWN";
+ default: return "!incorrect status (" + status + ")!";
+ }
+ }
+
+ public static String decodeXAResourceFlag(int flag) {
+ switch (flag) {
+ case XAResource.TMENDRSCAN: return "ENDRSCAN";
+ case XAResource.TMFAIL: return "FAIL";
+ case XAResource.TMJOIN: return "JOIN";
+ case XAResource.TMNOFLAGS: return "NOFLAGS";
+ case XAResource.TMONEPHASE: return "ONEPHASE";
+ case XAResource.TMRESUME: return "RESUME";
+ case XAResource.TMSTARTRSCAN: return "STARTRSCAN";
+ case XAResource.TMSUCCESS: return "SUCCESS";
+ case XAResource.TMSUSPEND: return "SUSPEND";
+ default: return "!invalid flag (" + flag + ")!";
+ }
+ }
+
+ public static String decodePrepareVote(int vote) {
+ switch (vote) {
+ case XAResource.XA_OK: return "XA_OK";
+ case XAResource.XA_RDONLY: return "XA_RDONLY";
+ default: return "!invalid return code (" + vote + ")!";
+ }
+ }
+
+ public static String decodeHeaderState(byte state) {
+ switch (state) {
+ case TransactionLogHeader.CLEAN_LOG_STATE: return "CLEAN_LOG_STATE";
+ case TransactionLogHeader.UNCLEAN_LOG_STATE: return "UNCLEAN_LOG_STATE";
+ default: return "!invalid state (" + state + ")!";
+ }
+ }
+
+ public static String decodeXAStatefulHolderState(int state) {
+ switch (state) {
+ case XAStatefulHolder.STATE_CLOSED: return "CLOSED";
+ case XAStatefulHolder.STATE_IN_POOL: return "IN_POOL";
+ case XAStatefulHolder.STATE_ACCESSIBLE: return "ACCESSIBLE";
+ case XAStatefulHolder.STATE_NOT_ACCESSIBLE: return "NOT_ACCESSIBLE";
+ default: return "!invalid state (" + state + ")!";
+ }
+ }
+
+ /**
+ * Create a String representation of a list of {@link bitronix.tm.resource.common.XAResourceHolder}s. This
+ * String will contain each resource's unique name.
+ * @param resources a list of {@link bitronix.tm.resource.common.XAResourceHolder}s.
+ * @return a String representation of the list.
+ */
+ public static String collectResourcesNames(Collection resources) {
+ StringBuffer sb = new StringBuffer();
+ sb.append("[");
+
+ Iterator it = resources.iterator();
+ while (it.hasNext()) {
+ XAResourceHolderState resourceHolderState = (XAResourceHolderState) it.next();
+ sb.append(resourceHolderState.getUniqueName());
+
+ if (it.hasNext())
+ sb.append(", ");
+ }
+
+ sb.append("]");
+ return sb.toString();
+ }
+
+}
diff --git a/src/bitronix/tm/utils/Encoder.java b/src/bitronix/tm/utils/Encoder.java
new file mode 100644
index 0000000..598d76c
--- /dev/null
+++ b/src/bitronix/tm/utils/Encoder.java
@@ -0,0 +1,92 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.utils;
+
+/**
+ * Number to byte array and byte array to number encoder.
+ *
+ * @author lorban
+ */
+public class Encoder {
+
+ public static byte[] longToBytes(long aLong) {
+ byte[] array = new byte[8];
+
+ array[7] = (byte) (aLong & 0xff);
+ array[6] = (byte) ((aLong >> 8) & 0xff);
+ array[5] = (byte) ((aLong >> 16) & 0xff);
+ array[4] = (byte) ((aLong >> 24) & 0xff);
+ array[3] = (byte) ((aLong >> 32) & 0xff);
+ array[2] = (byte) ((aLong >> 40) & 0xff);
+ array[1] = (byte) ((aLong >> 48) & 0xff);
+ array[0] = (byte) ((aLong >> 56) & 0xff);
+
+ return array;
+ }
+
+ public static byte[] intToBytes(int anInt) {
+ byte[] array = new byte[4];
+
+ array[3] = (byte) (anInt & 0xff);
+ array[2] = (byte) ((anInt >> 8) & 0xff);
+ array[1] = (byte) ((anInt >> 16) & 0xff);
+ array[0] = (byte) ((anInt >> 24) & 0xff);
+
+ return array;
+ }
+
+ public static byte[] shortToBytes(short aShort) {
+ byte[] array = new byte[2];
+
+ array[1] = (byte) (aShort & 0xff);
+ array[0] = (byte) ((aShort >> 8) & 0xff);
+
+ return array;
+ }
+
+ public static long bytesToLong(byte[] bytes, int pos) {
+ if (bytes.length + pos < 8)
+ throw new IllegalArgumentException("a long can only be decoded from 8 bytes of an array (got a " + bytes.length + " byte(s) array, must start at position " + pos + ")");
+
+ long result = 0;
+
+ for(int i=0; i < 8 ;i++) {
+ result <<= 8;
+ result ^= (long) bytes[i + pos] & 0xFF;
+ }
+
+ return result;
+ }
+
+ public static int bytesToInt(byte[] bytes, int pos) {
+ if (bytes.length + pos < 4)
+ throw new IllegalArgumentException("an integer can only be decoded from 4 bytes of an array (got a " + bytes.length + " byte(s) array, must start at position " + pos + ")");
+
+ int result = 0;
+
+ for(int i=0; i < 4 ;i++) {
+ result <<= 8;
+ result ^= (int) bytes[i + pos] & 0xFF;
+ }
+
+ return result;
+ }
+}
diff --git a/src/bitronix/tm/utils/InitializationException.java b/src/bitronix/tm/utils/InitializationException.java
new file mode 100644
index 0000000..bbda04b
--- /dev/null
+++ b/src/bitronix/tm/utils/InitializationException.java
@@ -0,0 +1,37 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.utils;
+
+/**
+ * Thrown at transaction manager startup when an error occurs.
+ *
+ * @author lorban
+ */
+public class InitializationException extends RuntimeException {
+ public InitializationException(String message) {
+ super(message);
+ }
+
+ public InitializationException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+}
diff --git a/src/bitronix/tm/utils/ManagementRegistrar.java b/src/bitronix/tm/utils/ManagementRegistrar.java
new file mode 100644
index 0000000..11d7dd6
--- /dev/null
+++ b/src/bitronix/tm/utils/ManagementRegistrar.java
@@ -0,0 +1,127 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.utils;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.lang.reflect.Method;
+import java.lang.reflect.Constructor;
+
+import bitronix.tm.internal.BitronixRuntimeException;
+import bitronix.tm.TransactionManagerServices;
+
+/**
+ * Simple JMX facade. In case there is no JMX implementation available, calling methods of this class have no effect.
+ *
+ * @author lorban
+ */
+public class ManagementRegistrar {
+
+ private final static Logger log = LoggerFactory.getLogger(ManagementRegistrar.class);
+ private static Object mbeanServer;
+ private static Method registerMBeanMethod;
+ private static Method unregisterMBeanMethod;
+ private static Constructor objectNameConstructor;
+
+ static {
+ boolean enableJmx = !TransactionManagerServices.getConfiguration().isDisableJmx();
+
+ if (enableJmx) {
+ try {
+ Class managementFactoryClass = ClassLoaderUtils.loadClass("java.lang.management.ManagementFactory");
+ Method getPlatformMBeanServerMethod = managementFactoryClass.getMethod("getPlatformMBeanServer", (Class[]) null);
+ mbeanServer = getPlatformMBeanServerMethod.invoke(managementFactoryClass, (Object[]) null);
+
+ Class objectNameClass = ClassLoaderUtils.loadClass("javax.management.ObjectName");
+ objectNameConstructor = objectNameClass.getConstructor(new Class[] {String.class});
+
+ registerMBeanMethod = mbeanServer.getClass().getMethod("registerMBean", new Class[] {Object.class, objectNameClass});
+ unregisterMBeanMethod = mbeanServer.getClass().getMethod("unregisterMBean", new Class[] {objectNameClass});
+ } catch (Exception ex) {
+ // no management in case an exception is thrown
+ mbeanServer = null;
+ }
+ } // if (enableJmx)
+ }
+
+ /**
+ * Replace characters considered illegal in a management object's name.
+ * @param name the name to work on.
+ * @return a fully valid name where all invalid characters have been replaced with '_'.
+ */
+ public static String makeValidName(String name) {
+ return name.replaceAll("[\\:\\,\\=,\\.]", "_");
+ }
+
+ /**
+ * Register the specified management object.
+ * @param name the name of the object.
+ * @param obj the management object.
+ */
+ public static void register(String name, Object obj) {
+ if (mbeanServer == null)
+ return;
+
+ try {
+ Object objName = buildObjectName(name);
+ mbeanServerCall(registerMBeanMethod, new Object[] {obj, objName});
+ } catch (Exception ex) {
+ log.warn("cannot register object with name " + name, ex);
+ }
+ }
+
+ /**
+ * Unregister the management object with the specified name.
+ * @param name the name of the object.
+ */
+ public static void unregister(String name) {
+ if (mbeanServer == null)
+ return;
+
+ try {
+ Object objName = buildObjectName(name);
+ mbeanServerCall(unregisterMBeanMethod, new Object[] {objName});
+ } catch (Exception ex) {
+ log.warn("cannot unregister object with name " + name, ex);
+ }
+ }
+
+
+ /* internal impl */
+
+ private static Object buildObjectName(String name) {
+ try {
+ return objectNameConstructor.newInstance(new Object[] {name});
+ } catch (Exception ex) {
+ throw new BitronixRuntimeException("cannot build ObjectName with name=" + name, ex);
+ }
+ }
+
+ private static void mbeanServerCall(Method method, Object[] params) {
+ try {
+ method.invoke(mbeanServer, params);
+ } catch (Exception ex) {
+ throw new BitronixRuntimeException("cannot call method '" + method.getName() + "'", ex);
+ }
+ }
+
+}
diff --git a/src/bitronix/tm/utils/PropertyException.java b/src/bitronix/tm/utils/PropertyException.java
new file mode 100644
index 0000000..e49df14
--- /dev/null
+++ b/src/bitronix/tm/utils/PropertyException.java
@@ -0,0 +1,38 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.utils;
+
+/**
+ * Thrown by {@link PropertyUtils} when some reflection error occurs.
+ *
+ * @author lorban
+ */
+public class PropertyException extends RuntimeException {
+
+ public PropertyException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public PropertyException(String message) {
+ super(message);
+ }
+
+}
diff --git a/src/bitronix/tm/utils/PropertyUtils.java b/src/bitronix/tm/utils/PropertyUtils.java
new file mode 100644
index 0000000..8cc8e88
--- /dev/null
+++ b/src/bitronix/tm/utils/PropertyUtils.java
@@ -0,0 +1,347 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.utils;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.util.*;
+
+/**
+ * Smart reflection helper.
+ *
+ * @author lorban
+ */
+public class PropertyUtils {
+
+ /**
+ * Set a direct or indirect property (dotted property: prop1.prop2.prop3) on the target object. This method tries
+ * to be smart in the way that intermediate properties currently set to null are set if it is possible to create
+ * and set an object. Conversions from propertyValue to the proper destination type are performed when possible.
+ * @param target the target object on which to set the property.
+ * @param propertyName the name of the property to set.
+ * @param propertyValue the value of the property to set.
+ * @throws PropertyException if an error happened while trying to set the property.
+ */
+ public static void setProperty(Object target, String propertyName, Object propertyValue) throws PropertyException {
+ String[] propertyNames = propertyName.split("\\.");
+
+ StringBuffer visitedPropertyName = new StringBuffer();
+ Object currentTarget = target;
+ int i = 0;
+ while (i < propertyNames.length -1) {
+ String name = propertyNames[i];
+ Object result = callGetter(currentTarget, name);
+ if (result == null) {
+ // try to instanciate the object & set it in place
+ Class propertyType = getPropertyType(target, name);
+ try {
+ result = propertyType.newInstance();
+ } catch (InstantiationException ex) {
+ throw new PropertyException("cannot set property '" + propertyName + "' - '" + name + "' is null and cannot be auto-filled", ex);
+ } catch (IllegalAccessException ex) {
+ throw new PropertyException("cannot set property '" + propertyName + "' - '" + name + "' is null and cannot be auto-filled", ex);
+ }
+ callSetter(currentTarget, name, result);
+ }
+
+ currentTarget = result;
+ visitedPropertyName.append(name);
+ visitedPropertyName.append('.');
+ i++;
+
+ // if it's a Properties object -> the non-visited part of the key should be used
+ // as this Properties' object key so stop iterating over the dotted properties.
+ if (currentTarget instanceof Properties)
+ break;
+ }
+
+ String lastPropertyName = propertyName.substring(visitedPropertyName.length(), propertyName.length());
+ if (currentTarget instanceof Properties) {
+ Properties p = (Properties) currentTarget;
+ p.setProperty(lastPropertyName, propertyValue.toString());
+ }
+ else {
+ setDirectProperty(currentTarget, lastPropertyName, propertyValue);
+ }
+ }
+
+ /**
+ * Build a map of direct javabeans properties of the target object. Only read/write properties (ie: those who have
+ * both a getter and a setter) are returned.
+ * @param target the target object from which to get properties names.
+ * @return a Map of String with properties names as key and their values
+ * @throws PropertyException if an error happened while trying to get a property.
+ */
+ public static Map getProperties(Object target) throws PropertyException {
+ Map properties = new HashMap();
+ Class clazz = target.getClass();
+ Method[] methods = clazz.getMethods();
+ for (int i = 0; i < methods.length; i++) {
+ Method method = methods[i];
+ String name = method.getName();
+ if (method.getModifiers() == Modifier.PUBLIC && method.getParameterTypes().length == 0 && (name.startsWith("get") || name.startsWith("is")) && containsSetterForGetter(clazz, method)) {
+ String propertyName;
+ if (name.startsWith("get"))
+ propertyName = Character.toLowerCase(name.charAt(3)) + name.substring(4);
+ else if (name.startsWith("is"))
+ propertyName = Character.toLowerCase(name.charAt(2)) + name.substring(3);
+ else
+ throw new PropertyException("method '" + name + "' is not a getter, thereof no setter can be found");
+
+ try {
+ Object propertyValue = method.invoke(target, (Object[]) null); // casting to (Object[]) b/c of javac 1.5 warning
+ if (propertyValue != null && propertyValue instanceof Properties) {
+ Map propertiesContent = getNestedProperties(propertyName, (Properties) propertyValue);
+ properties.putAll(propertiesContent);
+ }
+ else {
+ properties.put(propertyName, propertyValue);
+ }
+ } catch (IllegalAccessException ex) {
+ throw new PropertyException("cannot set property '" + propertyName + "' - '" + name + "' is null and cannot be auto-filled", ex);
+ } catch (InvocationTargetException ex) {
+ throw new PropertyException("cannot set property '" + propertyName + "' - '" + name + "' is null and cannot be auto-filled", ex);
+ }
+
+ } // if
+ } // for
+ return properties;
+ }
+
+ private static boolean containsSetterForGetter(Class clazz, Method method) {
+ String methodName = method.getName();
+ String setterName;
+
+ if (methodName.startsWith("get"))
+ setterName = "set" + methodName.substring(3);
+ else if (methodName.startsWith("is"))
+ setterName = "set" + methodName.substring(2);
+ else
+ throw new PropertyException("method '" + methodName + "' is not a getter, thereof no setter can be found");
+
+ Method[] methods = clazz.getMethods();
+ for (int i = 0; i < methods.length; i++) {
+ Method method1 = methods[i];
+ if (method1.getName().equals(setterName))
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Get a direct or indirect property (dotted property: prop1.prop2.prop3) on the target object.
+ * @param target the target object from which to get the property.
+ * @param propertyName the name of the property to get.
+ * @return the value of the specified property.
+ * @throws PropertyException if an error happened while trying to get the property.
+ */
+ public static Object getProperty(Object target, String propertyName) throws PropertyException {
+ String[] propertyNames = propertyName.split("\\.");
+ Object currentTarget = target;
+ for (int i = 0; i < propertyNames.length; i++) {
+ String name = propertyNames[i];
+ Object result = callGetter(currentTarget, name);
+ if (result == null && i < propertyNames.length -1)
+ throw new PropertyException("cannot get property '" + propertyName + "' - '" + name + "' is null");
+ currentTarget = result;
+ }
+
+ return currentTarget;
+ }
+
+ /**
+ * Set a {@link Map} of direct or indirect properties on the target object.
+ * @param target the target object on which to set the properties.
+ * @param properties a {@link Map} of String/Object pairs.
+ * @throws PropertyException if an error happened while trying to set a property.
+ */
+ public static void setProperties(Object target, Map properties) throws PropertyException {
+ Iterator it = properties.entrySet().iterator();
+ while (it.hasNext()) {
+ Map.Entry entry = (Map.Entry) it.next();
+ String name = (String) entry.getKey();
+ Object value = entry.getValue();
+ setProperty(target, name, value);
+ }
+ }
+
+ /**
+ * Return a comma-separated String of r/w properties of the specified object.
+ * @param obj the object to introspect.
+ * @return a a comma-separated String of r/w properties.
+ */
+ public static String propertiesToString(Object obj) {
+ StringBuffer sb = new StringBuffer();
+ Map properties = new TreeMap(getProperties(obj));
+ Iterator it = properties.keySet().iterator();
+ while (it.hasNext()) {
+ String property = (String) it.next();
+ Object val = getProperty(obj, property);
+ sb.append(property);
+ sb.append("=");
+ sb.append(val);
+ if (it.hasNext())
+ sb.append(", ");
+ }
+ return sb.toString();
+ }
+
+ /**
+ * Set a direct property on the target object. Conversions from propertyValue to the proper destination type
+ * are performed whenever possible.
+ * @param target the target object on which to set the property.
+ * @param propertyName the name of the property to set.
+ * @param propertyValue the value of the property to set.
+ * @throws PropertyException if an error happened while trying to set the property.
+ */
+ private static void setDirectProperty(Object target, String propertyName, Object propertyValue) throws PropertyException {
+ Method setter = getSetter(target, propertyName);
+ Class parameterType = setter.getParameterTypes()[0];
+ try {
+ if (propertyValue != null) {
+ Object transformedPropertyValue = transform(propertyValue, parameterType);
+ setter.invoke(target, new Object[] {transformedPropertyValue});
+ }
+ else {
+ setter.invoke(target, new Object[] {null});
+ }
+ } catch (IllegalAccessException ex) {
+ throw new PropertyException("property '" + propertyName + "' is not accessible", ex);
+ } catch (InvocationTargetException ex) {
+ throw new PropertyException("property '" + propertyName + "' access threw an exception", ex);
+ }
+ }
+
+ private static Map getNestedProperties(String prefix, Properties properties) {
+ Map result = new HashMap();
+ Iterator it = properties.entrySet().iterator();
+ while (it.hasNext()) {
+ Map.Entry entry = (Map.Entry) it.next();
+ String name = (String) entry.getKey();
+ String value = (String) entry.getValue();
+ result.put(prefix + '.' + name, value);
+ }
+ return result;
+ }
+
+ private static Object transform(Object value, Class destinationClass) {
+ if (value.getClass() == destinationClass)
+ return value;
+
+ if ( value.getClass() == boolean.class || value.getClass() == Boolean.class ||
+ value.getClass() == byte.class || value.getClass() == Byte.class ||
+ value.getClass() == short.class || value.getClass() == Short.class ||
+ value.getClass() == int.class || value.getClass() == Integer.class ||
+ value.getClass() == long.class || value.getClass() == Long.class ||
+ value.getClass() == float.class || value.getClass() == Float.class ||
+ value.getClass() == double.class || value.getClass() == Double.class
+ )
+ return value;
+
+ if ((destinationClass == boolean.class || destinationClass == Boolean.class) && value.getClass() == String.class) {
+ return Boolean.valueOf((String) value);
+ }
+ if ((destinationClass == byte.class || destinationClass == Byte.class) && value.getClass() == String.class) {
+ return new Byte((String) value);
+ }
+ if ((destinationClass == short.class || destinationClass == Short.class) && value.getClass() == String.class) {
+ return new Short((String) value);
+ }
+ if ((destinationClass == int.class || destinationClass == Integer.class) && value.getClass() == String.class) {
+ return new Integer((String) value);
+ }
+ if ((destinationClass == long.class || destinationClass == Long.class) && value.getClass() == String.class) {
+ return new Long((String) value);
+ }
+ if ((destinationClass == float.class || destinationClass == Float.class) && value.getClass() == String.class) {
+ return new Float((String) value);
+ }
+ if ((destinationClass == double.class || destinationClass == Double.class) && value.getClass() == String.class) {
+ return new Double((String) value);
+ }
+
+ throw new PropertyException("cannot convert values of type '" + value.getClass().getName() + "' into type '" + destinationClass + "'");
+ }
+
+ private static void callSetter(Object target, String propertyName, Object parameter) throws PropertyException {
+ Method setter = getSetter(target, propertyName);
+ try {
+ setter.invoke(target, new Object[] {parameter});
+ } catch (IllegalAccessException ex) {
+ throw new PropertyException("property '" + propertyName + "' is not accessible", ex);
+ } catch (InvocationTargetException ex) {
+ throw new PropertyException("property '" + propertyName + "' access threw an exception", ex);
+ }
+ }
+
+ private static Object callGetter(Object target, String propertyName) throws PropertyException {
+ Method getter = getGetter(target, propertyName);
+ try {
+ return getter.invoke(target, (Object[]) null); // casting to (Object[]) b/c of javac 1.5 warning
+ } catch (IllegalAccessException ex) {
+ throw new PropertyException("property '" + propertyName + "' is not accessible", ex);
+ } catch (InvocationTargetException ex) {
+ throw new PropertyException("property '" + propertyName + "' access threw an exception", ex);
+ }
+ }
+
+ private static Method getSetter(Object target, String propertyName) {
+ if (propertyName == null || "".equals(propertyName))
+ throw new PropertyException("encountered invalid null or empty property name");
+ String setterName = "set" + propertyName.substring(0, 1).toUpperCase() + propertyName.substring(1);
+ Method[] methods = target.getClass().getMethods();
+ for (int i = 0; i < methods.length; i++) {
+ Method method = methods[i];
+ if (method.getName().equals(setterName) && method.getReturnType().equals(void.class) && method.getParameterTypes().length == 1) {
+ return method;
+ }
+ }
+ throw new PropertyException("no writeable property '" + propertyName + "' in class '" + target.getClass().getName() + "'");
+ }
+
+ private static Method getGetter(Object target, String propertyName) {
+ String getterName = "get" + propertyName.substring(0, 1).toUpperCase() + propertyName.substring(1);
+ String getterIsName = "is" + propertyName.substring(0, 1).toUpperCase() + propertyName.substring(1);
+ Method[] methods = target.getClass().getMethods();
+ for (int i = 0; i < methods.length; i++) {
+ Method method = methods[i];
+ if ((method.getName().equals(getterName) || method.getName().equals(getterIsName)) && !method.getReturnType().equals(void.class) && method.getParameterTypes().length == 0) {
+ return method;
+ }
+ }
+ throw new PropertyException("no readable property '" + propertyName + "' in class '" + target.getClass().getName() + "'");
+ }
+
+ private static Class getPropertyType(Object target, String propertyName) {
+ String getterName = "get" + propertyName.substring(0, 1).toUpperCase() + propertyName.substring(1);
+ String getterIsName = "is" + propertyName.substring(0, 1).toUpperCase() + propertyName.substring(1);
+ Method[] methods = target.getClass().getMethods();
+ for (int i = 0; i < methods.length; i++) {
+ Method method = methods[i];
+ if ((method.getName().equals(getterName) || method.getName().equals(getterIsName)) && !method.getReturnType().equals(void.class) && method.getParameterTypes().length == 0) {
+ return method.getReturnType();
+ }
+ }
+ throw new PropertyException("no property '" + propertyName + "' in class '" + target.getClass().getName() + "'");
+ }
+
+}
diff --git a/src/bitronix/tm/utils/Scheduler.java b/src/bitronix/tm/utils/Scheduler.java
new file mode 100644
index 0000000..b09e087
--- /dev/null
+++ b/src/bitronix/tm/utils/Scheduler.java
@@ -0,0 +1,236 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.utils;
+
+import java.util.*;
+
+/**
+ * Positional object container. Objects can be added to a scheduler at a certain position (or priority) and can be
+ * retrieved later on in their position + added order. All the objects of a scheduler can be iterated in order or
+ * objects of a cetain position can be retrieved for iteration.
+ *
+ * @author lorban
+ */
+public class Scheduler {
+
+ public static final int DEFAULT_POSITION = 0;
+ public static final int ALWAYS_FIRST_POSITION = Integer.MIN_VALUE;
+ public static final int ALWAYS_LAST_POSITION = Integer.MAX_VALUE;
+
+ public static final Object DEFAULT_POSITION_KEY = new Integer(DEFAULT_POSITION);
+ public static final Object ALWAYS_FIRST_POSITION_KEY = new Integer(ALWAYS_FIRST_POSITION);
+ public static final Object ALWAYS_LAST_POSITION_KEY = new Integer(ALWAYS_LAST_POSITION);
+
+ private List keys = new ArrayList();
+ private Map objects = new TreeMap();
+ private int size = 0;
+
+
+ public Scheduler() {
+ }
+
+ public synchronized void add(Object obj, int position) {
+ Integer key = new Integer(position);
+ List synchronizationsList = (List) objects.get(key);
+ if (synchronizationsList == null) {
+ if (!keys.contains(key)) {
+ keys.add(key);
+ Collections.sort(keys);
+ }
+ synchronizationsList = new ArrayList();
+ objects.put(key, synchronizationsList);
+ }
+ synchronizationsList.add(obj);
+ size++;
+ }
+
+ public synchronized void remove(Object obj) {
+ Iterator it = iterator();
+ while (it.hasNext()) {
+ Object o = it.next();
+ if (o == obj) {
+ it.remove();
+ return;
+ }
+ }
+ throw new NoSuchElementException("no such element: " + obj);
+ }
+
+ public synchronized SortedSet getNaturalOrderPositions() {
+ return new TreeSet(objects.keySet());
+ }
+
+ public synchronized SortedSet getReverseOrderPositions() {
+ TreeSet result = new TreeSet(Collections.reverseOrder());
+ result.addAll(getNaturalOrderPositions());
+ return result;
+ }
+
+ public synchronized List getByNaturalOrderForPosition(Object positionKey) {
+ return (List) objects.get(positionKey);
+ }
+
+ public synchronized List getByReverseOrderForPosition(Object positionKey) {
+ List result = new ArrayList(getByNaturalOrderForPosition(positionKey));
+ Collections.reverse(result);
+ return result;
+ }
+
+ public synchronized int size() {
+ return size;
+ }
+
+ public Iterator iterator() {
+ return new SchedulerNaturalOrderIterator();
+ }
+
+ public Iterator reverseIterator() {
+ return new SchedulerReverseOrderIterator();
+ }
+
+ public String toString() {
+ return "a Scheduler with " + size() + " object(s) in " + getNaturalOrderPositions().size() + " position(s)";
+ }
+
+ /**
+ * This iterator supports in-flight updates of the iterated object.
+ */
+ private final class SchedulerNaturalOrderIterator implements Iterator {
+ private int nextKeyIndex;
+ private List objectsOfCurrentKey;
+ private int objectsOfCurrentKeyIndex;
+
+ private SchedulerNaturalOrderIterator() {
+ this.nextKeyIndex = 0;
+ }
+
+ public void remove() {
+ synchronized (Scheduler.this) {
+ if (objectsOfCurrentKey == null)
+ throw new NoSuchElementException("iterator not yet placed on an element");
+
+ objectsOfCurrentKeyIndex--;
+ objectsOfCurrentKey.remove(objectsOfCurrentKeyIndex);
+ if (objectsOfCurrentKey.size() == 0) {
+ // there are no more objects in the current position's list -> remove it
+ nextKeyIndex--;
+ Object key = Scheduler.this.keys.get(nextKeyIndex);
+ Scheduler.this.keys.remove(nextKeyIndex);
+ Scheduler.this.objects.remove(key);
+ objectsOfCurrentKey = null;
+ }
+ Scheduler.this.size--;
+ }
+ }
+
+ public boolean hasNext() {
+ synchronized (Scheduler.this) {
+ if (objectsOfCurrentKey == null || objectsOfCurrentKeyIndex >= objectsOfCurrentKey.size()) {
+ // we reached the end of the current position's list
+
+ if (nextKeyIndex < Scheduler.this.keys.size()) {
+ // there is another position after this one
+ Integer currentKey = (Integer) Scheduler.this.keys.get(nextKeyIndex++);
+ objectsOfCurrentKey = (List) Scheduler.this.objects.get(currentKey);
+ objectsOfCurrentKeyIndex = 0;
+ return true;
+ } else {
+ // there is no other position after this one
+ return false;
+ }
+ }
+
+ // there are still objects in the current position's list
+ return true;
+ }
+ }
+
+ public Object next() {
+ synchronized (Scheduler.this) {
+ if (!hasNext())
+ throw new NoSuchElementException("iterator bounds reached");
+ return objectsOfCurrentKey.get(objectsOfCurrentKeyIndex++);
+ }
+ }
+ }
+
+ /**
+ * This iterator supports in-flight updates of the iterated object.
+ */
+ private final class SchedulerReverseOrderIterator implements Iterator {
+ private int nextKeyIndex;
+ private List objectsOfCurrentKey;
+ private int objectsOfCurrentKeyIndex;
+
+ private SchedulerReverseOrderIterator() {
+ this.nextKeyIndex = Scheduler.this.keys.size() -1;
+ }
+
+ public void remove() {
+ synchronized (Scheduler.this) {
+ if (objectsOfCurrentKey == null)
+ throw new NoSuchElementException("iterator not yet placed on an element");
+
+ objectsOfCurrentKeyIndex--;
+ objectsOfCurrentKey.remove(objectsOfCurrentKeyIndex);
+ if (objectsOfCurrentKey.size() == 0) {
+ // there are no more objects in the current position's list -> remove it
+ Object key = Scheduler.this.keys.get(nextKeyIndex+1);
+ Scheduler.this.keys.remove(nextKeyIndex+1);
+ Scheduler.this.objects.remove(key);
+ objectsOfCurrentKey = null;
+ }
+ Scheduler.this.size--;
+ }
+ }
+
+ public boolean hasNext() {
+ synchronized (Scheduler.this) {
+ if (objectsOfCurrentKey == null || objectsOfCurrentKeyIndex >= objectsOfCurrentKey.size()) {
+ // we reached the end of the current position's list
+
+ if (nextKeyIndex >= 0) {
+ // there is another position after this one
+ Integer currentKey = (Integer) Scheduler.this.keys.get(nextKeyIndex--);
+ objectsOfCurrentKey = (List) Scheduler.this.objects.get(currentKey);
+ objectsOfCurrentKeyIndex = 0;
+ return true;
+ } else {
+ // there is no other position after this one
+ return false;
+ }
+ }
+
+ // there are still objects in the current position's list
+ return true;
+ }
+ }
+
+ public Object next() {
+ synchronized (Scheduler.this) {
+ if (!hasNext())
+ throw new NoSuchElementException("iterator bounds reached");
+ return objectsOfCurrentKey.get(objectsOfCurrentKeyIndex++);
+ }
+ }
+ }
+
+}
diff --git a/src/bitronix/tm/utils/Service.java b/src/bitronix/tm/utils/Service.java
new file mode 100644
index 0000000..257d33c
--- /dev/null
+++ b/src/bitronix/tm/utils/Service.java
@@ -0,0 +1,36 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.utils;
+
+/**
+ * All internal services implement this interface.
+ *
+ * @see bitronix.tm.TransactionManagerServices
+ * @author lorban
+ */
+public interface Service {
+
+ /**
+ * Shutdown the service and free all held resources.
+ */
+ public void shutdown();
+
+}
diff --git a/src/bitronix/tm/utils/Uid.java b/src/bitronix/tm/utils/Uid.java
new file mode 100644
index 0000000..3915e6f
--- /dev/null
+++ b/src/bitronix/tm/utils/Uid.java
@@ -0,0 +1,128 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.utils;
+
+import java.util.Arrays;
+
+/**
+ * <p>A constant UID byte array container optimized for use with hashed collections.</p>
+ *
+ * @author lorban
+ */
+public final class Uid {
+
+ private byte[] array;
+ private int hashCodeValue;
+ private String toStringValue;
+
+ public Uid(byte[] array) {
+ this.array = new byte[array.length];
+ System.arraycopy(array, 0, this.array, 0, array.length);
+ this.hashCodeValue = arrayHashCode(array);
+ this.toStringValue = arrayToString(array);
+ }
+
+ public byte[] getArray() {
+ return array;
+ }
+
+ public byte[] extractServerId() {
+ int serverIdLength = array.length - 4 - 8; // - sequence - timestamp
+ if (serverIdLength < 1)
+ return null;
+
+ byte[] result = new byte[serverIdLength];
+ System.arraycopy(array, 0, result, 0, serverIdLength);
+ return result;
+ }
+
+ public long extractTimestamp() {
+ return Encoder.bytesToLong(array, array.length - 4 - 8); // - sequence - timestamp
+ }
+
+ public int extractSequence() {
+ return Encoder.bytesToInt(array, array.length - 4); // - sequence
+ }
+
+
+ public boolean equals(Object obj) {
+ if (obj instanceof Uid) {
+ Uid otherUid = (Uid) obj;
+
+ // optimizes performance a bit
+ if (hashCodeValue != otherUid.hashCodeValue)
+ return false;
+
+ return Arrays.equals(array, otherUid.array);
+ }
+ return false;
+ }
+
+ public int hashCode() {
+ return hashCodeValue;
+ }
+
+ public String toString() {
+ return toStringValue;
+ }
+
+ /**
+ * Compute a UID byte array hashcode value.
+ * @param uid the byte array used for hashcode computation.
+ * @return a constant hash value for the specified uid.
+ */
+ private static int arrayHashCode(byte[] uid) {
+ int hash = 0;
+ // Common fast but good hash with wide dispersion
+ for (int i = uid.length - 1; i > 0; i--) {
+ // rotate left and xor
+ // (very fast in assembler, a bit clumsy in Java)
+ hash <<= 1;
+
+ if (hash < 0) {
+ hash |= 1;
+ }
+
+ hash ^= uid[i];
+ }
+ return hash;
+ }
+
+ /**
+ * Decode a UID byte array into a (somewhat) human-readable hex string.
+ * @param uid the uid to decode.
+ * @return the resulting printable string.
+ */
+ private static String arrayToString(byte[] uid) {
+ char[] hexChars = new char[uid.length * 2];
+ int c = 0;
+ int v;
+ for (int i = 0; i < uid.length; i++) {
+ v = uid[i] & 0xFF;
+ hexChars[c++] = HEX[v >> 4];
+ hexChars[c++] = HEX[v & 0xF];
+ }
+ return new String(hexChars);
+ }
+
+ private static final char[] HEX = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
+}
+
diff --git a/src/bitronix/tm/utils/UidGenerator.java b/src/bitronix/tm/utils/UidGenerator.java
new file mode 100644
index 0000000..78d87f2
--- /dev/null
+++ b/src/bitronix/tm/utils/UidGenerator.java
@@ -0,0 +1,77 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.utils;
+
+import bitronix.tm.BitronixXid;
+import bitronix.tm.TransactionManagerServices;
+
+/**
+ * Helper that offers UID generation (GTRID, XID, sequences) needed by the transaction manager.
+ * <p>Generated UIDs are at most 64 bytes long and are made of 3 subparts: the current time in milliseconds since
+ * Epoch, a JVM transient atomic sequence number and the configured <code>bitronix.tm.serverId</code>.</p>
+ * <p>The reliance on the system clock is critical to the uniqueness of the UID in the network so you have to make sure
+ * all servers of the network running this transaction manager have their clock reasonably in sync. An order of 1
+ * second synchronicity is generally fine.</p>
+ *
+ * @author lorban
+ */
+public class UidGenerator {
+
+ private static int sequenceNumber = 0;
+
+ /**
+ * Generate a UID, globally unique. This method relies on the configured serverId for network uniqueness.
+ * @return the generated UID.
+ */
+ public static Uid generateUid() {
+ byte[] timestamp = Encoder.longToBytes(System.currentTimeMillis());
+ byte[] sequence = Encoder.intToBytes(getNextSequenceNumber());
+ byte[] serverId = TransactionManagerServices.getConfiguration().buildServerIdArray();
+
+ int uidLength = serverId.length + timestamp.length + sequence.length;
+ byte[] uidArray = new byte[uidLength];
+
+ System.arraycopy(serverId, 0, uidArray, 0, serverId.length);
+ System.arraycopy(timestamp, 0, uidArray, serverId.length, timestamp.length);
+ System.arraycopy(sequence, 0, uidArray, serverId.length + timestamp.length, sequence.length);
+
+ return new Uid(uidArray);
+ }
+
+ /**
+ * Atomically generate general-purpose sequence numbers starting at 0. The counter is reset at every
+ * JVM startup.
+ * @return a sequence number unique for the lifespan of this JVM.
+ */
+ public static synchronized int getNextSequenceNumber() {
+ return sequenceNumber++;
+ }
+
+ /**
+ * Generate a XID with the specified globalTransactionId.
+ * @param gtrid the GTRID to use to generate the Xid.
+ * @return the generated Xid.
+ */
+ public static BitronixXid generateXid(Uid gtrid) {
+ return new BitronixXid(gtrid, generateUid());
+ }
+
+}
diff --git a/src/bitronix/tm/utils/package.html b/src/bitronix/tm/utils/package.html
new file mode 100644
index 0000000..03c23b4
--- /dev/null
+++ b/src/bitronix/tm/utils/package.html
@@ -0,0 +1,7 @@
+<html>
+<body>
+ <p>
+ Misc utility classes.
+ </p>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/overview.html b/src/overview.html
new file mode 100644
index 0000000..d9c009e
--- /dev/null
+++ b/src/overview.html
@@ -0,0 +1,10 @@
+<html>
+<body>
+ The Bitronix Transaction Manager (BTM) is a simple but complete implementation of the JTA API. The goal is to
+ provide a fully working XA transaction manager that provides all services required by the JTA API while trying to
+ keep the code as simple as possible for easier understanding of the XA semantics.
+ <p style="{font-style: italic;}">
+ © <a href="http://www.bitronix.be">Bitronix Software</a>
+ </p>
+</body>
+</html>
\ No newline at end of file
diff --git a/test/bitronix-default-config.properties b/test/bitronix-default-config.properties
new file mode 100644
index 0000000..5e88203
--- /dev/null
+++ b/test/bitronix-default-config.properties
@@ -0,0 +1,23 @@
+#bitronix.tm.serverId=server-id
+#bitronix.tm.2pc.async=false
+
+bitronix.tm.journal.disk.logPart1Filename=target/btm1.tlog
+bitronix.tm.journal.disk.logPart2Filename=target/btm2.tlog
+#bitronix.tm.journal.disk.forcedWriteEnabled=true
+#bitronix.tm.journal.disk.forceBatchingEnabled=true
+#bitronix.tm.journal.disk.skipCorruptedLogs=false
+
+# maxLogSize is in MB
+#bitronix.tm.journal.disk.maxLogSize=2
+#bitronix.tm.journal.disk.filterLogStatus=false
+
+# these timer parameters are all in seconds
+#bitronix.tm.timer.defaultTransactionTimeout=60
+#bitronix.tm.timer.transactionRetryInterval=10
+bitronix.tm.timer.gracefulShutdownInterval=10
+
+# this one is in minutes
+#bitronix.tm.timer.backgroundRecoveryInterval=0
+
+# resources configuration file
+#bitronix.tm.resource.configuration=
\ No newline at end of file
diff --git a/test/bitronix-res.properties b/test/bitronix-res.properties
new file mode 100644
index 0000000..252e116
--- /dev/null
+++ b/test/bitronix-res.properties
@@ -0,0 +1,50 @@
+#
+# Bitronix XA resource loader example config file
+#
+
+# bind configured resources to JNDI
+bitronix.tm.resource.bind=true
+
+# These will create two PoolingDataSource's wrapping the FBConnectionPoolDataSource
+resource.ds1.className=org.firebirdsql.pool.FBConnectionPoolDataSource
+resource.ds1.uniqueName=fb1
+resource.ds1.poolSize=5
+resource.ds1.acquisitionTimeout=30
+resource.ds1.testQuery=select 1 from rdb$database
+resource.ds1.deferConnectionRelease=true
+resource.ds1.driverProperties.userName=java
+resource.ds1.driverProperties.password=java
+resource.ds1.driverProperties.database=users1
+resource.ds1.driverProperties.blockingTimeout=3000
+resource.ds1.driverProperties.pooling=true
+
+resource.ds2.className=org.firebirdsql.pool.FBConnectionPoolDataSource
+resource.ds2.uniqueName=fb2
+resource.ds2.poolSize=5
+resource.ds2.acquisitionTimeout=30
+resource.ds2.testQuery=select 1 from rdb$database
+resource.ds2.deferConnectionRelease=true
+resource.ds2.driverProperties.userName=java
+resource.ds2.driverProperties.password=java
+resource.ds2.driverProperties.database=users2
+resource.ds2.driverProperties.blockingTimeout=3000
+resource.ds2.driverProperties.pooling=true
+
+# These will bind a PoolingConnectionFactory wrapping the ActiveMQXAConnectionFactory
+resource.mq1.className=org.apache.activemq.ActiveMQXAConnectionFactory
+resource.mq1.uniqueName=amq1
+resource.mq1.poolSize=2
+resource.mq1.driverProperties.userName=defaultUser
+resource.mq1.driverProperties.password=defaultPassword
+resource.mq1.driverProperties.brokerURL=tcp://localhost:61616
+
+# These will bind a PoolingConnectionFactory fetching the SMQ QueueConnectionFactory from another JNDI
+resource.mq2.className=bitronix.tm.resource.jms.JndiXAConnectionFactory
+resource.mq2.uniqueName=smq2
+resource.mq2.poolSize=2
+resource.mq2.cacheProducersConsumers=true
+resource.mq2.driverProperties.name=QueueConnectionFactory
+resource.mq2.driverProperties.initialContextFactory=com.swiftmq.jndi.InitialContextFactoryImpl
+resource.mq2.driverProperties.providerUrl=smqp://localhost:4001/timeout=10000
+resource.mq2.serverSessionPool.poolSize=2
+resource.mq2.serverSessionPool.listenerClassName=bitronix.tm.resource.jms.SimpleMessageListener
diff --git a/test/bitronix/tm/BitronixTransactionSynchronizationRegistryTest.java b/test/bitronix/tm/BitronixTransactionSynchronizationRegistryTest.java
new file mode 100644
index 0000000..2c7d83a
--- /dev/null
+++ b/test/bitronix/tm/BitronixTransactionSynchronizationRegistryTest.java
@@ -0,0 +1,148 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm;
+
+import junit.framework.TestCase;
+
+import javax.transaction.*;
+
+/**
+ *
+ * @author lorban
+ */
+public class BitronixTransactionSynchronizationRegistryTest extends TestCase {
+
+ private BitronixTransactionManager btm;
+
+ protected void setUp() throws Exception {
+ btm = TransactionManagerServices.getTransactionManager();
+ }
+
+ protected void tearDown() throws Exception {
+ if (btm.getStatus() != Status.STATUS_NO_TRANSACTION)
+ btm.rollback();
+ btm.shutdown();
+ }
+
+ public void testMultiThreaded() throws Exception {
+ final TransactionSynchronizationRegistry reg = TransactionManagerServices.getTransactionSynchronizationRegistry();
+
+ btm.begin();
+ reg.putResource("1", "one");
+ assertEquals("one", reg.getResource("1"));
+ btm.commit();
+
+ Thread t = new Thread() {
+ public void run() {
+ try {
+ btm.begin();
+ reg.putResource("1", "one");
+ assertEquals("one", reg.getResource("1"));
+ btm.commit();
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+ };
+
+ t.start();
+ t.join();
+ }
+
+ public void testRegistryResources() throws Exception {
+ TransactionSynchronizationRegistry reg = TransactionManagerServices.getTransactionSynchronizationRegistry();
+
+ try {
+ reg.putResource("0", "zero");
+ fail("expected IllegalStateException");
+ } catch (IllegalStateException ex) {
+ assertEquals("no transaction started on current thread", ex.getMessage());
+ }
+
+ btm.begin();
+ reg.putResource("1", "one");
+ assertEquals("one", reg.getResource("1"));
+ btm.commit();
+
+ try {
+ reg.getResource("1");
+ fail("expected IllegalStateException");
+ } catch (Exception ex) {
+ assertEquals("no transaction started on current thread", ex.getMessage());
+ }
+
+ btm.begin();
+ assertNull(reg.getResource("1"));
+ btm.commit();
+ }
+
+
+ public void testRegistrySynchronizations() throws Exception {
+ TransactionSynchronizationRegistry reg = TransactionManagerServices.getTransactionSynchronizationRegistry();
+
+ CoutingSynchronization normalSync = new CoutingSynchronization();
+ CoutingSynchronization interposedSync = new CoutingSynchronization();
+
+ btm.begin();
+
+ reg.registerInterposedSynchronization(interposedSync);
+ btm.getCurrentTransaction().registerSynchronization(normalSync);
+
+ btm.commit();
+
+ assertTrue(normalSync.getBeforeTimestamp() < interposedSync.getBeforeTimestamp());
+ assertTrue(interposedSync.getBeforeTimestamp() < normalSync.getAfterTimestamp());
+ assertTrue(interposedSync.getAfterTimestamp() < normalSync.getAfterTimestamp());
+ }
+
+ private class CoutingSynchronization implements Synchronization {
+
+ private long beforeTimestamp;
+ private long afterTimestamp;
+
+ public long getBeforeTimestamp() {
+ return beforeTimestamp;
+ }
+
+ public long getAfterTimestamp() {
+ return afterTimestamp;
+ }
+
+ public void beforeCompletion() {
+ beforeTimestamp = System.currentTimeMillis();
+ try {
+ Thread.sleep(100);
+ } catch (InterruptedException e) {
+ // ignore
+ }
+ }
+
+ public void afterCompletion(int status) {
+ afterTimestamp = System.currentTimeMillis();
+ try {
+ Thread.sleep(100);
+ } catch (InterruptedException e) {
+ // ignore
+ }
+ }
+ }
+
+}
diff --git a/test/bitronix/tm/ConfigurationTest.java b/test/bitronix/tm/ConfigurationTest.java
new file mode 100644
index 0000000..09c3d4a
--- /dev/null
+++ b/test/bitronix/tm/ConfigurationTest.java
@@ -0,0 +1,109 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm;
+
+import junit.framework.TestCase;
+
+import java.util.Properties;
+
+/**
+ *
+ * @author lorban
+ */
+public class ConfigurationTest extends TestCase {
+
+ public void testGetString() throws Exception {
+ Properties props = new Properties();
+ props.setProperty("1", "one");
+ props.setProperty("2", "two");
+ System.setProperty("3", "three");
+ props.setProperty("4", "four");
+ System.setProperty("4", "four-sys");
+ props.setProperty("12", "${1} ${2}");
+ props.setProperty("13", "${1} ${3}");
+ props.setProperty("14", "${1} ${}");
+ props.setProperty("15", "${1} ${tatata");
+ props.setProperty("16", "${1} ${4}");
+ props.setProperty("17", "x$");
+ props.setProperty("18", "x${");
+
+ assertEquals("one", Configuration.getString(props, "1", null));
+ assertEquals("two", Configuration.getString(props, "2", null));
+ assertEquals("three", Configuration.getString(props, "3", null));
+ assertEquals("one two", Configuration.getString(props, "12", null));
+ assertEquals("one three", Configuration.getString(props, "13", null));
+ assertEquals("one four-sys", Configuration.getString(props, "16", null));
+
+ try {
+ Configuration.getString(props, "14", null);
+ fail("expected IllegalArgumentException: property ref cannot refer to an empty name: ${}");
+ } catch (IllegalArgumentException ex) {
+ assertEquals("property ref cannot refer to an empty name: ${}", ex.getMessage());
+ }
+
+ try {
+ Configuration.getString(props, "15", null);
+ fail("expected IllegalArgumentException: unclosed property ref: ${tatata");
+ } catch (IllegalArgumentException ex) {
+ assertEquals("unclosed property ref: ${tatata", ex.getMessage());
+ }
+
+ assertEquals("x$", Configuration.getString(props, "17", null));
+
+ try {
+ Configuration.getString(props, "18", null);
+ fail("expected IllegalArgumentException: unclosed property ref: ${");
+ } catch (IllegalArgumentException ex) {
+ assertEquals("unclosed property ref: ${", ex.getMessage());
+ }
+ }
+
+ public void testGetIntBoolean() {
+ Properties props = new Properties();
+ props.setProperty("one", "1");
+ props.setProperty("two", "2");
+ System.setProperty("three", "3");
+ System.setProperty("vrai", "true");
+ props.setProperty("faux", "false");
+
+ assertEquals(1, Configuration.getInt(props, "one", -1));
+ assertEquals(2, Configuration.getInt(props, "two", -1));
+ assertEquals(3, Configuration.getInt(props, "three", -1));
+ assertEquals(10, Configuration.getInt(props, "ten", 10));
+
+ assertEquals(true, Configuration.getBoolean(props, "vrai", false));
+ assertEquals(false, Configuration.getBoolean(props, "faux", true));
+ assertEquals(true, Configuration.getBoolean(props, "wrong", true));
+ }
+
+ public void testToString() {
+ final String expectation = "a Configuration with [allowMultipleLrc=false, asynchronous2Pc=false, backgroundRecoveryInterval=1," +
+ " backgroundRecoveryIntervalSeconds=60, currentNodeOnlyRecovery=true, defaultTransactionTimeout=60," +
+ " disableJmx=false, filterLogStatus=false, forceBatchingEnabled=true, forcedWriteEnabled=true, gracefulShutdownInterval=10," +
+ " jndiTransactionSynchronizationRegistryName=java:comp/TransactionSynchronizationRegistry, jndiUserTransactionName=java:comp/UserTransaction, journal=disk," +
+ " logPart1Filename=target/btm1.tlog, logPart2Filename=target/btm2.tlog, maxLogSizeInMb=2," +
+ " resourceConfigurationFilename=null, serverId=null, skipCorruptedLogs=false," +
+ " warnAboutZeroResourceTransaction=true]";
+
+ assertEquals(expectation, new Configuration().toString());
+ }
+
+}
diff --git a/test/bitronix/tm/JdbcFailedPoolTest.java b/test/bitronix/tm/JdbcFailedPoolTest.java
new file mode 100644
index 0000000..96943a0
--- /dev/null
+++ b/test/bitronix/tm/JdbcFailedPoolTest.java
@@ -0,0 +1,136 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm;
+
+import java.sql.SQLException;
+
+import junit.framework.TestCase;
+import bitronix.tm.mock.resource.jdbc.*;
+import bitronix.tm.recovery.*;
+import bitronix.tm.resource.ResourceRegistrar;
+import bitronix.tm.resource.jdbc.PoolingDataSource;
+
+/**
+ *
+ * @author lorban
+ */
+public class JdbcFailedPoolTest extends TestCase {
+
+ protected void setUp() throws Exception {
+ TransactionManagerServices.getJournal().open();
+ TransactionManagerServices.getTaskScheduler();
+ }
+
+ protected void tearDown() throws Exception {
+ TransactionManagerServices.getJournal().close();
+ TransactionManagerServices.getTaskScheduler().shutdown();
+ }
+
+ public void testAcquiringConnectionAfterRecoveryDoesNotMarkAsFailed() throws Exception {
+ PoolingDataSource poolingDataSource = new PoolingDataSource();
+ poolingDataSource.setClassName(MockitoXADataSource.class.getName());
+ poolingDataSource.setUniqueName("ds1");
+ poolingDataSource.setMaxPoolSize(1);
+ poolingDataSource.setMaxIdleTime(1); // set low shrink timeout
+ poolingDataSource.init();
+
+ IncrementalRecoverer.recover(poolingDataSource);
+
+ MockitoXADataSource.setStaticGetXAConnectionException(new SQLException("creating a new connection does not work"));
+ Thread.sleep(2000); // wait for shrink
+
+ // should not work but should not mark the pool as failed as it could recover
+ try {
+ poolingDataSource.getConnection();
+ fail("expected SQLException");
+ } catch (SQLException ex) {
+ assertEquals("unable to get a connection from pool of a PoolingDataSource containing an XAPool of resource ds1 with 0 connection(s) (0 still available)", ex.getMessage());
+ }
+
+ poolingDataSource.close();
+ }
+
+ public void testFailingRecoveryMarksAsFailed() throws Exception {
+ MockitoXADataSource.setStaticGetXAConnectionException(new SQLException("creating a new connection does not work"));
+
+ PoolingDataSource poolingDataSource = new PoolingDataSource();
+ poolingDataSource.setClassName(MockitoXADataSource.class.getName());
+ poolingDataSource.setUniqueName("ds1");
+ poolingDataSource.setMaxPoolSize(1);
+ poolingDataSource.init();
+
+// try {
+// IncrementalRecoverer.recover(poolingDataSource);
+// fail("expected RecoveryException");
+// } catch (RecoveryException ex) {
+// assertEquals("cannot start recovery on a PoolingDataSource containing an XAPool of resource ds1 with 0 connection(s) (0 still available)", ex.getMessage());
+// }
+//
+// assertEquals("a PoolingDataSource containing an XAPool of resource ds1 with 0 connection(s) (0 still available) -failed-", poolingDataSource.toString());
+
+ Recoverer recoverer = new Recoverer();
+ recoverer.run();
+ assertEquals("a PoolingDataSource containing an XAPool of resource ds1 with 0 connection(s) (0 still available) -failed-", poolingDataSource.toString());
+ // recoverer must not unregister the resource
+ assertSame(poolingDataSource, ResourceRegistrar.get("ds1"));
+
+
+ MockitoXADataSource.setStaticGetXAConnectionException(null);
+
+ recoverer.run();
+ assertEquals("a PoolingDataSource containing an XAPool of resource ds1 with 1 connection(s) (1 still available)", poolingDataSource.toString());
+ // recoverer must not unregister the resource
+ assertSame(poolingDataSource, ResourceRegistrar.get("ds1"));
+
+
+ poolingDataSource.close();
+ }
+
+ public void testSuccessfulRecoveryMarksAsNotFailed() throws Exception {
+ MockitoXADataSource.setStaticGetXAConnectionException(new SQLException("creating a new connection does not work"));
+
+ PoolingDataSource poolingDataSource = new PoolingDataSource();
+ poolingDataSource.setClassName(MockitoXADataSource.class.getName());
+ poolingDataSource.setUniqueName("ds1");
+ poolingDataSource.setMaxPoolSize(1);
+ poolingDataSource.init();
+
+ try {
+ IncrementalRecoverer.recover(poolingDataSource);
+ fail("expected RecoveryException");
+ } catch (RecoveryException ex) {
+ assertEquals("cannot start recovery on a PoolingDataSource containing an XAPool of resource ds1 with 0 connection(s) (0 still available)", ex.getMessage());
+ }
+
+ assertEquals("a PoolingDataSource containing an XAPool of resource ds1 with 0 connection(s) (0 still available) -failed-", poolingDataSource.toString());
+
+
+ MockitoXADataSource.setStaticGetXAConnectionException(null);
+
+ Recoverer recoverer = new Recoverer();
+ recoverer.run();
+ assertEquals("a PoolingDataSource containing an XAPool of resource ds1 with 1 connection(s) (1 still available)", poolingDataSource.toString());
+ // recoverer must not unregister the resource
+ assertSame(poolingDataSource, ResourceRegistrar.get("ds1"));
+
+ poolingDataSource.close();
+ }
+}
diff --git a/test/bitronix/tm/JtaTest.java b/test/bitronix/tm/JtaTest.java
new file mode 100644
index 0000000..7bcb4db
--- /dev/null
+++ b/test/bitronix/tm/JtaTest.java
@@ -0,0 +1,249 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm;
+
+import junit.framework.TestCase;
+
+import javax.transaction.*;
+
+import bitronix.tm.resource.jdbc.PoolingDataSource;
+import bitronix.tm.resource.jdbc.lrc.LrcXADataSource;
+import bitronix.tm.mock.resource.jdbc.MockDriver;
+
+import java.sql.Connection;
+
+import org.slf4j.LoggerFactory;
+import org.slf4j.Logger;
+
+/**
+ *
+ * @author lorban
+ */
+public class JtaTest extends TestCase {
+
+ private final static Logger log = LoggerFactory.getLogger(JtaTest.class);
+
+ private BitronixTransactionManager btm;
+
+ protected void setUp() throws Exception {
+ btm = TransactionManagerServices.getTransactionManager();
+ }
+
+ protected void tearDown() throws Exception {
+ btm.shutdown();
+ }
+
+ public void testTransactionManagerGetTransaction() throws Exception {
+ assertNull(btm.getTransaction());
+
+ btm.begin();
+ assertNotNull(btm.getTransaction());
+
+ btm.commit();
+ assertNull(btm.getTransaction());
+
+ btm.begin();
+ assertNotNull(btm.getTransaction());
+
+ btm.rollback();
+ }
+
+ // this test also helps verifying MDC support but logs have to be manually checked
+ public void testSuspendResume() throws Exception {
+ log.info("test starts");
+ btm.begin();
+ log.info("tx begun");
+ Transaction tx = btm.suspend();
+ log.info("tx suspended");
+ btm.resume(tx);
+ log.info("tx resumed");
+ btm.rollback();
+ log.info("test over");
+ }
+
+ public void testTimeout() throws Exception {
+ btm.setTransactionTimeout(1);
+ btm.begin();
+ CountingSynchronization sync = new CountingSynchronization();
+ btm.getTransaction().registerSynchronization(sync);
+
+ Thread.sleep(2000);
+ assertEquals(Status.STATUS_MARKED_ROLLBACK, btm.getTransaction().getStatus());
+
+ try {
+ btm.commit();
+ fail("commit should have thrown an RollbackException");
+ } catch (RollbackException ex) {
+ assertEquals("transaction timed out and has been rolled back", ex.getMessage());
+ }
+ assertEquals(1, sync.beforeCount);
+ assertEquals(1, sync.afterCount);
+ }
+
+ public void testMarkedRollback() throws Exception {
+ btm.begin();
+ CountingSynchronization sync = new CountingSynchronization();
+ btm.getTransaction().registerSynchronization(sync);
+ btm.setRollbackOnly();
+
+ assertEquals(Status.STATUS_MARKED_ROLLBACK, btm.getTransaction().getStatus());
+
+ try {
+ btm.commit();
+ fail("commit should have thrown an RollbackException");
+ } catch (RollbackException ex) {
+ assertEquals("transaction was marked as rollback only and has been rolled back", ex.getMessage());
+ }
+ assertEquals(1, sync.beforeCount);
+ assertEquals(1, sync.afterCount);
+ }
+
+ public void testRecycleAfterSuspend() throws Exception {
+ PoolingDataSource pds = new PoolingDataSource();
+ pds.setClassName(LrcXADataSource.class.getName());
+ pds.setUniqueName("lrc-pds");
+ pds.setMaxPoolSize(2);
+ pds.getDriverProperties().setProperty("driverClassName", MockDriver.class.getName());
+ pds.init();
+
+ btm.begin();
+
+ Connection c1 = pds.getConnection();
+ c1.createStatement();
+ c1.close();
+
+ Transaction tx = btm.suspend();
+
+ btm.begin();
+
+ Connection c11 = pds.getConnection();
+ c11.createStatement();
+ c11.close();
+
+ btm.commit();
+
+
+ btm.resume(tx);
+
+ Connection c2 = pds.getConnection();
+ c2.createStatement();
+ c2.close();
+
+ btm.commit();
+
+ pds.close();
+ }
+
+ public void testTransactionContextCleanup() throws Exception {
+ assertEquals(Status.STATUS_NO_TRANSACTION, btm.getStatus());
+
+ btm.begin();
+ assertEquals(Status.STATUS_ACTIVE, btm.getStatus());
+
+ final Transaction tx = btm.getTransaction();
+
+ // commit on a different thread
+ Thread t = new Thread() {
+ public void run() {
+ try {
+ tx.commit();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ fail();
+ }
+ }
+ };
+
+ t.start();
+ t.join();
+
+ assertNull(btm.getTransaction());
+ }
+
+ public void testBeforeCompletionAddsExtraSynchronizationInDifferentPriority() throws Exception {
+ btm.begin();
+
+ btm.getCurrentTransaction().getSynchronizationScheduler().add(new SynchronizationRegisteringSynchronization(btm.getCurrentTransaction()), 5);
+
+ btm.commit();
+ }
+
+ public void testBeforeCompletionRuntimeExceptionRethrown() throws Exception {
+ btm.begin();
+
+ btm.getTransaction().registerSynchronization(new Synchronization() {
+ public void beforeCompletion() {
+ throw new RuntimeException("beforeCompletion failure");
+ }
+ public void afterCompletion(int i) {
+ }
+ });
+
+ try {
+ btm.commit();
+ fail("expected runtime exception");
+ } catch (RuntimeException ex) {
+ assertEquals("beforeCompletion failure", ex.getMessage());
+ btm.rollback();
+ }
+ }
+
+ private class SynchronizationRegisteringSynchronization implements Synchronization {
+
+ private BitronixTransaction transaction;
+
+ public SynchronizationRegisteringSynchronization(BitronixTransaction transaction) {
+ this.transaction = transaction;
+ }
+
+ public void beforeCompletion() {
+ try {
+ transaction.getSynchronizationScheduler().add(new Synchronization() {
+
+ public void beforeCompletion() {
+ }
+
+ public void afterCompletion(int i) {
+ }
+ }, 10);
+ } catch (Exception e) {
+ fail("unexpected exception: " + e);
+ }
+ }
+
+ public void afterCompletion(int i) {
+ }
+ }
+
+ private class CountingSynchronization implements Synchronization {
+ public int beforeCount = 0;
+ public int afterCount = 0;
+
+ public void beforeCompletion() {
+ beforeCount++;
+ }
+
+ public void afterCompletion(int i) {
+ afterCount++;
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/test/bitronix/tm/RestartTest.java b/test/bitronix/tm/RestartTest.java
new file mode 100644
index 0000000..e5056ec
--- /dev/null
+++ b/test/bitronix/tm/RestartTest.java
@@ -0,0 +1,101 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm;
+
+import java.util.Iterator;
+
+import junit.framework.TestCase;
+import bitronix.tm.mock.resource.jdbc.MockitoXADataSource;
+import bitronix.tm.resource.ResourceRegistrar;
+import bitronix.tm.resource.jdbc.PoolingDataSource;
+
+/**
+ *
+ * @author lorban
+ */
+public class RestartTest extends TestCase {
+
+
+ protected void setUp() throws Exception {
+ Iterator it = ResourceRegistrar.getResourcesUniqueNames().iterator();
+ while (it.hasNext()) {
+ String name = (String) it.next();
+ ResourceRegistrar.unregister(ResourceRegistrar.get(name));
+ }
+ }
+
+ public void testRestartWithoutLoaderNoReuseResource() throws Exception {
+ for (int i=0; i<3 ;i++) {
+ PoolingDataSource pds = new PoolingDataSource();
+ pds.setClassName(MockitoXADataSource.class.getName());
+ pds.setUniqueName("ds");
+ pds.setMaxPoolSize(1);
+ pds.init();
+
+ try {
+ ResourceRegistrar.register(pds);
+ fail("expected IllegalArgumentException");
+ } catch (IllegalArgumentException ex) {
+ assertEquals("resource with uniqueName 'ds' has already been registered", ex.getMessage());
+ }
+
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+ tm.shutdown();
+ assertEquals(1, ResourceRegistrar.getResourcesUniqueNames().size());
+
+ pds.close();
+ }
+ }
+
+ public void testRestartWithoutLoaderReuseResource() throws Exception {
+ PoolingDataSource pds = new PoolingDataSource();
+ pds.setClassName(MockitoXADataSource.class.getName());
+ pds.setUniqueName("ds");
+ pds.setMaxPoolSize(1);
+ pds.init();
+
+ for (int i=0; i<3 ;i++) {
+ try {
+ ResourceRegistrar.register(pds);
+ fail("expected IllegalArgumentException");
+ } catch (IllegalArgumentException ex) {
+ assertEquals("resource with uniqueName 'ds' has already been registered", ex.getMessage());
+ }
+
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+ tm.shutdown();
+ assertEquals(1, ResourceRegistrar.getResourcesUniqueNames().size());
+ }
+
+ pds.close();
+ }
+
+ public void testRestartWithLoader() throws Exception {
+ for (int i=0; i<3 ;i++) {
+ TransactionManagerServices.getConfiguration().setResourceConfigurationFilename(getClass().getResource("RestartTest.properties").getFile());
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+ assertEquals("at loop iteration #" + (i+1), 1, ResourceRegistrar.getResourcesUniqueNames().size());
+ tm.shutdown();
+ assertEquals("at loop iteration #" + (i+1), 0, ResourceRegistrar.getResourcesUniqueNames().size());
+ }
+ }
+
+}
diff --git a/test/bitronix/tm/RestartTest.properties b/test/bitronix/tm/RestartTest.properties
new file mode 100644
index 0000000..9b09fb7
--- /dev/null
+++ b/test/bitronix/tm/RestartTest.properties
@@ -0,0 +1,3 @@
+resource.ds1.className=bitronix.tm.mock.resource.jdbc.MockitoXADataSource
+resource.ds1.uniqueName=mock
+resource.ds1.maxPoolSize=5
diff --git a/test/bitronix/tm/jndi/JndiTest.java b/test/bitronix/tm/jndi/JndiTest.java
new file mode 100644
index 0000000..9e81878
--- /dev/null
+++ b/test/bitronix/tm/jndi/JndiTest.java
@@ -0,0 +1,117 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.jndi;
+
+import java.util.Hashtable;
+
+import javax.naming.*;
+
+import junit.framework.TestCase;
+import bitronix.tm.*;
+import bitronix.tm.mock.resource.jdbc.MockitoXADataSource;
+import bitronix.tm.resource.jdbc.PoolingDataSource;
+
+
+/**
+ *
+ * @author lorban
+ */
+public class JndiTest extends TestCase {
+
+ private BitronixTransactionManager transactionManager;
+
+ protected void setUp() throws Exception {
+ transactionManager = TransactionManagerServices.getTransactionManager();
+ }
+
+ protected void tearDown() throws Exception {
+ transactionManager.shutdown();
+ }
+
+ public void testNameParser() throws Exception {
+ BitronixContext bitronixContext = new BitronixContext();
+ Name name = bitronixContext.getNameParser("").parse("java:comp/UserTransaction");
+ assertEquals("java:comp/UserTransaction", name.toString());
+ assertSame(BitronixTransactionManager.class, bitronixContext.lookup(name).getClass());
+
+ name = bitronixContext.getNameParser(new CompositeName()).parse("java:comp/UserTransaction");
+ assertEquals("java:comp/UserTransaction", name.toString());
+ assertSame(BitronixTransactionManager.class, bitronixContext.lookup(name).getClass());
+ }
+
+ public void testDefaultUserTransactionAndResources() throws Exception {
+ PoolingDataSource pds = new PoolingDataSource();
+ pds.setMaxPoolSize(1);
+ pds.setClassName(MockitoXADataSource.class.getName());
+ pds.setUniqueName("jdbc/pds");
+ pds.init();
+
+ Hashtable env = new Hashtable();
+ env.put(Context.INITIAL_CONTEXT_FACTORY, BitronixInitialContextFactory.class.getName());
+ Context ctx = new InitialContext(env);
+
+ assertTrue(transactionManager == ctx.lookup("java:comp/UserTransaction"));
+
+ try {
+ ctx.lookup("aaa");
+ fail("expected NameNotFoundException");
+ } catch (NameNotFoundException ex) {
+ assertEquals("unable to find a bound object at name 'aaa'", ex.getMessage());
+ }
+
+ assertTrue(pds == ctx.lookup("jdbc/pds"));
+
+ ctx.close();
+
+ pds.close();
+ }
+
+ public void testSpecialUserTransactionName() throws Exception {
+ transactionManager.shutdown();
+ TransactionManagerServices.getConfiguration().setJndiUserTransactionName("TM");
+ transactionManager = TransactionManagerServices.getTransactionManager();
+
+ Hashtable env = new Hashtable();
+ env.put(Context.INITIAL_CONTEXT_FACTORY, BitronixInitialContextFactory.class.getName());
+ Context ctx = new InitialContext(env);
+
+
+ try {
+ ctx.lookup("java:comp/UserTransaction");
+ fail("expected NameNotFoundException");
+ } catch (NameNotFoundException ex) {
+ assertEquals("unable to find a bound object at name 'java:comp/UserTransaction'", ex.getMessage());
+ }
+
+
+ assertTrue(transactionManager == ctx.lookup("TM"));
+
+ try {
+ ctx.lookup("aaa");
+ fail("expected NameNotFoundException");
+ } catch (NameNotFoundException ex) {
+ assertEquals("unable to find a bound object at name 'aaa'", ex.getMessage());
+ }
+
+ ctx.close();
+ }
+
+}
diff --git a/test/bitronix/tm/journal/DiskJournalTest.java b/test/bitronix/tm/journal/DiskJournalTest.java
new file mode 100644
index 0000000..05eb083
--- /dev/null
+++ b/test/bitronix/tm/journal/DiskJournalTest.java
@@ -0,0 +1,193 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.journal;
+
+import junit.framework.TestCase;
+
+import java.io.IOException;
+import java.io.File;
+import java.util.*;
+
+import bitronix.tm.TransactionManagerServices;
+import bitronix.tm.utils.Uid;
+import bitronix.tm.utils.UidGenerator;
+
+import javax.transaction.Status;
+
+/**
+ *
+ * @author lorban
+ */
+public class DiskJournalTest extends TestCase {
+
+ protected void setUp() throws Exception {
+ new File(TransactionManagerServices.getConfiguration().getLogPart1Filename()).delete();
+ new File(TransactionManagerServices.getConfiguration().getLogPart2Filename()).delete();
+ }
+
+ public void testExceptions() throws Exception {
+ DiskJournal journal = new DiskJournal();
+
+ try {
+ journal.force();
+ fail("expected IOException");
+ } catch (IOException ex) {
+ assertEquals("cannot force log writing, disk logger is not open", ex.getMessage());
+ }
+ try {
+ journal.log(0, null, null);
+ fail("expected IOException");
+ } catch (IOException ex) {
+ assertEquals("cannot write log, disk logger is not open", ex.getMessage());
+ }
+ try {
+ journal.collectDanglingRecords();
+ fail("expected IOException");
+ } catch (IOException ex) {
+ assertEquals("cannot collect dangling records, disk logger is not open", ex.getMessage());
+ }
+
+ journal.close();
+ }
+
+ public void testSimpleCollectDanglingRecords() throws Exception {
+ DiskJournal journal = new DiskJournal();
+ journal.open();
+ Uid gtrid = UidGenerator.generateUid();
+
+ assertEquals(0, journal.collectDanglingRecords().size());
+
+ journal.log(Status.STATUS_COMMITTING, gtrid, csvToSet("name1"));
+ assertEquals(1, journal.collectDanglingRecords().size());
+
+ journal.log(Status.STATUS_COMMITTED, gtrid, csvToSet("name1"));
+ assertEquals(0, journal.collectDanglingRecords().size());
+
+
+ journal.close();
+ }
+
+ public void testComplexCollectDanglingRecords() throws Exception {
+ DiskJournal journal = new DiskJournal();
+ journal.open();
+ Uid gtrid1 = UidGenerator.generateUid();
+ Uid gtrid2 = UidGenerator.generateUid();
+
+ assertEquals(0, journal.collectDanglingRecords().size());
+
+ journal.log(Status.STATUS_COMMITTING, gtrid1, csvToSet("name1,name2,name3"));
+ assertEquals(1, journal.collectDanglingRecords().size());
+
+ journal.log(Status.STATUS_COMMITTED, gtrid1, csvToSet("name1"));
+ assertEquals(1, journal.collectDanglingRecords().size());
+
+ journal.log(Status.STATUS_COMMITTED, gtrid1, csvToSet("name2"));
+ assertEquals(1, journal.collectDanglingRecords().size());
+
+ journal.log(Status.STATUS_COMMITTED, gtrid1, csvToSet("name3"));
+ assertEquals(0, journal.collectDanglingRecords().size());
+
+ journal.log(Status.STATUS_COMMITTING, gtrid2, csvToSet("name1,name2,name3"));
+ assertEquals(1, journal.collectDanglingRecords().size());
+
+ journal.log(Status.STATUS_COMMITTED, gtrid2, csvToSet("name2"));
+ assertEquals(1, journal.collectDanglingRecords().size());
+
+ journal.log(Status.STATUS_COMMITTED, gtrid2, csvToSet("name3,name1"));
+ assertEquals(0, journal.collectDanglingRecords().size());
+
+ journal.close();
+ }
+
+ public void testCorruptedCollectDanglingRecords() throws Exception {
+ DiskJournal journal = new DiskJournal();
+ journal.open();
+ Uid gtrid1 = UidGenerator.generateUid();
+ Uid gtrid2 = UidGenerator.generateUid();
+
+ assertEquals(0, journal.collectDanglingRecords().size());
+
+ journal.log(Status.STATUS_COMMITTING, gtrid1, csvToSet("name1,name2,name3"));
+ assertEquals(1, journal.collectDanglingRecords().size());
+
+ journal.log(Status.STATUS_COMMITTED, gtrid1, csvToSet("name1"));
+ assertEquals(1, journal.collectDanglingRecords().size());
+
+ journal.log(Status.STATUS_COMMITTED, gtrid1, csvToSet("name3"));
+ assertEquals(1, journal.collectDanglingRecords().size());
+
+ journal.log(Status.STATUS_COMMITTED, gtrid1, csvToSet("name4"));
+ assertEquals(1, journal.collectDanglingRecords().size());
+
+ journal.log(Status.STATUS_COMMITTED, gtrid1, csvToSet("name2"));
+ assertEquals(0, journal.collectDanglingRecords().size());
+
+ journal.log(Status.STATUS_COMMITTED, gtrid2, csvToSet("name1"));
+ assertEquals(0, journal.collectDanglingRecords().size());
+
+ journal.close();
+ }
+
+ public void testCrc32Value() throws Exception {
+ Set names = new HashSet();
+ names.add("ActiveMQ");
+ names.add("com.mysql.jdbc.jdbc2.optional.MysqlXADataSource");
+
+ String uidString = "626974726F6E697853657276657249440000011C31FD45510000955B";
+ byte[] uidArray = new byte[uidString.length()/2];
+ for (int i=0; i<uidString.length()/2 ;i++) {
+ String substr = uidString.substring(i*2, i*2+2);
+ byte b = (byte)Integer.parseInt(substr, 16);
+
+ uidArray[i] = b;
+ }
+ Uid uid = new Uid(uidArray);
+
+ TransactionLogRecord tlr = new TransactionLogRecord(Status.STATUS_COMMITTED, 116, 28, 1220609394845L, 38266, -1380478121, uid, names, TransactionLogAppender.END_RECORD);
+ assertTrue(tlr.isCrc32Correct());
+
+ names = new TreeSet();
+ names.add("com.mysql.jdbc.jdbc2.optional.MysqlXADataSource");
+ names.add("ActiveMQ");
+
+ tlr = new TransactionLogRecord(Status.STATUS_COMMITTED, 116, 28, 1220609394845L, 38266, -1380478121, uid, names, TransactionLogAppender.END_RECORD);
+ assertTrue(tlr.isCrc32Correct());
+
+ // test that removing unique names refreshes CRC32, see BTM-44
+ Set namesToRemove = new HashSet();
+ namesToRemove.add("ActiveMQ");
+
+ tlr.removeUniqueNames(namesToRemove);
+
+ assertTrue(tlr.isCrc32Correct());
+ }
+
+ private SortedSet csvToSet(String s) {
+ SortedSet result = new TreeSet();
+ String[] names = s.split("\\,");
+ for (int i = 0; i < names.length; i++) {
+ String name = names[i];
+ result.add(name);
+ }
+ return result;
+ }
+
+}
diff --git a/test/bitronix/tm/mock/AbstractMockJdbcTest.java b/test/bitronix/tm/mock/AbstractMockJdbcTest.java
new file mode 100644
index 0000000..41183e4
--- /dev/null
+++ b/test/bitronix/tm/mock/AbstractMockJdbcTest.java
@@ -0,0 +1,150 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock;
+
+import java.lang.reflect.Field;
+import java.util.*;
+
+import junit.framework.TestCase;
+
+import org.slf4j.*;
+
+import bitronix.tm.TransactionManagerServices;
+import bitronix.tm.mock.events.*;
+import bitronix.tm.mock.resource.MockJournal;
+import bitronix.tm.mock.resource.jdbc.MockitoXADataSource;
+import bitronix.tm.resource.ResourceRegistrar;
+import bitronix.tm.resource.common.*;
+import bitronix.tm.resource.jdbc.*;
+
+/**
+ *
+ * @author lorban
+ */
+public abstract class AbstractMockJdbcTest extends TestCase {
+
+ private final static Logger log = LoggerFactory.getLogger(AbstractMockJdbcTest.class);
+
+ protected PoolingDataSource poolingDataSource1;
+ protected PoolingDataSource poolingDataSource2;
+ protected static final int POOL_SIZE = 5;
+ protected static final String DATASOURCE1_NAME = "pds1";
+ protected static final String DATASOURCE2_NAME = "pds2";
+
+ protected void setUp() throws Exception {
+ Iterator it = ResourceRegistrar.getResourcesUniqueNames().iterator();
+ while (it.hasNext()) {
+ String name = (String) it.next();
+ ResourceRegistrar.unregister(ResourceRegistrar.get(name));
+ }
+
+ // DataSource1 has shared accessible connections
+ poolingDataSource1 = new PoolingDataSource();
+ poolingDataSource1.setClassName(MockitoXADataSource.class.getName());
+ poolingDataSource1.setUniqueName(DATASOURCE1_NAME);
+ poolingDataSource1.setMinPoolSize(POOL_SIZE);
+ poolingDataSource1.setMaxPoolSize(POOL_SIZE);
+ poolingDataSource1.setAllowLocalTransactions(true);
+ poolingDataSource1.setShareTransactionConnections(true);
+ poolingDataSource1.init();
+
+ // DataSource2 does not have shared accessible connections
+ poolingDataSource2 = new PoolingDataSource();
+ poolingDataSource2.setClassName(MockitoXADataSource.class.getName());
+ poolingDataSource2.setUniqueName(DATASOURCE2_NAME);
+ poolingDataSource2.setMinPoolSize(POOL_SIZE);
+ poolingDataSource2.setMaxPoolSize(POOL_SIZE);
+ poolingDataSource2.setAllowLocalTransactions(true);
+ poolingDataSource2.init();
+
+ // change disk journal into mock journal
+ Field journalField = TransactionManagerServices.class.getDeclaredField("journal");
+ journalField.setAccessible(true);
+ journalField.set(TransactionManagerServices.class, new MockJournal());
+
+ // change connection pools into mock pools
+ XAPool p1 = getPool(this.poolingDataSource1);
+ registerPoolEventListener(p1);
+ XAPool p2 = getPool(this.poolingDataSource2);
+ registerPoolEventListener(p2);
+
+ TransactionManagerServices.getConfiguration().setGracefulShutdownInterval(2);
+
+ // start TM
+ TransactionManagerServices.getTransactionManager();
+
+ // clear event recorder list
+ EventRecorder.clear();
+ }
+
+ protected XAPool getPool(PoolingDataSource poolingDataSource) throws NoSuchFieldException, IllegalAccessException {
+ Field poolField = PoolingDataSource.class.getDeclaredField("pool");
+ poolField.setAccessible(true);
+ return (XAPool) poolField.get(poolingDataSource);
+ }
+
+ private void registerPoolEventListener(XAPool pool) throws Exception {
+ ArrayList connections = new ArrayList();
+
+ Iterator iterator = pool.getXAResourceHolders().iterator();
+ while (iterator.hasNext()) {
+ XAStatefulHolder holder = (XAStatefulHolder) iterator.next();
+ JdbcConnectionHandle connectionHandle = (JdbcConnectionHandle) holder.getConnectionHandle();
+ JdbcPooledConnection jdbcPooledConnection = connectionHandle.getPooledConnection();
+ connections.add(connectionHandle);
+ jdbcPooledConnection.addStateChangeEventListener(new StateChangeListener() {
+ public void stateChanged(XAStatefulHolder source, int oldState, int newState) {
+ if (newState == AbstractXAResourceHolder.STATE_IN_POOL)
+ EventRecorder.getEventRecorder(this).addEvent(new ConnectionQueuedEvent(this, (JdbcPooledConnection) source));
+ if (newState == AbstractXAResourceHolder.STATE_ACCESSIBLE)
+ EventRecorder.getEventRecorder(this).addEvent(new ConnectionDequeuedEvent(this, (JdbcPooledConnection) source));
+ }
+
+ public void stateChanging(XAStatefulHolder source, int currentState, int futureState) {
+ }
+ });
+ }
+
+ for (int i = 0; i < connections.size(); i++) {
+ JdbcConnectionHandle connectionHandle = (JdbcConnectionHandle) connections.get(i);
+ connectionHandle.close();
+ }
+ }
+
+ protected void tearDown() throws Exception {
+ try {
+ if (log.isDebugEnabled()) log.debug("*** tearDown rollback");
+ TransactionManagerServices.getTransactionManager().rollback();
+ } catch (Exception ex) {
+ // ignore
+ }
+ poolingDataSource1.close();
+ poolingDataSource2.close();
+
+ TransactionManagerServices.getTransactionManager().shutdown();
+ }
+
+ public static Object getWrappedXAConnectionOf(Object pc1) throws NoSuchFieldException, IllegalAccessException {
+ Field f = pc1.getClass().getDeclaredField("xaConnection");
+ f.setAccessible(true);
+ return f.get(pc1);
+ }
+}
diff --git a/test/bitronix/tm/mock/AbstractMockJmsTest.java b/test/bitronix/tm/mock/AbstractMockJmsTest.java
new file mode 100644
index 0000000..7ceb0f0
--- /dev/null
+++ b/test/bitronix/tm/mock/AbstractMockJmsTest.java
@@ -0,0 +1,87 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock;
+
+import bitronix.tm.TransactionManagerServices;
+import bitronix.tm.mock.events.EventRecorder;
+import bitronix.tm.mock.resource.MockJournal;
+import bitronix.tm.mock.resource.jms.MockXAConnectionFactory;
+import bitronix.tm.resource.jms.PoolingConnectionFactory;
+import junit.framework.TestCase;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.lang.reflect.Field;
+
+/**
+ *
+ * @author lorban
+ */
+public abstract class AbstractMockJmsTest extends TestCase {
+
+ private final static Logger log = LoggerFactory.getLogger(AbstractMockJmsTest.class);
+
+ protected PoolingConnectionFactory poolingConnectionFactory1;
+ protected PoolingConnectionFactory poolingConnectionFactory2;
+ protected static final int POOL_SIZE = 5;
+ protected static final String CONNECTION_FACTORY1_NAME = "pcf1";
+ protected static final String CONNECTION_FACTORY2_NAME = "pcf2";
+
+ protected void setUp() throws Exception {
+ poolingConnectionFactory1 = new PoolingConnectionFactory();
+ poolingConnectionFactory1.setClassName(MockXAConnectionFactory.class.getName());
+ poolingConnectionFactory1.setUniqueName(CONNECTION_FACTORY1_NAME);
+ poolingConnectionFactory1.setAcquisitionTimeout(5);
+ poolingConnectionFactory1.setMinPoolSize(POOL_SIZE);
+ poolingConnectionFactory1.setMaxPoolSize(POOL_SIZE);
+ poolingConnectionFactory1.init();
+
+ poolingConnectionFactory2 = new PoolingConnectionFactory();
+ poolingConnectionFactory2.setClassName(MockXAConnectionFactory.class.getName());
+ poolingConnectionFactory2.setUniqueName(CONNECTION_FACTORY2_NAME);
+ poolingConnectionFactory2.setAcquisitionTimeout(5);
+ poolingConnectionFactory2.setMinPoolSize(POOL_SIZE);
+ poolingConnectionFactory2.setMaxPoolSize(POOL_SIZE);
+ poolingConnectionFactory2.init();
+
+ // change disk journal into mock journal
+ Field journalField = TransactionManagerServices.class.getDeclaredField("journal");
+ journalField.setAccessible(true);
+ journalField.set(TransactionManagerServices.class, new MockJournal());
+
+ // start TM
+ TransactionManagerServices.getTransactionManager();
+
+ // clear event recorder list
+ EventRecorder.clear();
+ }
+ protected void tearDown() throws Exception {
+ try {
+ if (log.isDebugEnabled()) log.debug("*** tearDown rollback");
+ TransactionManagerServices.getTransactionManager().rollback();
+ } catch (Exception ex) {
+ // ignore
+ }
+ poolingConnectionFactory1.close();
+ poolingConnectionFactory2.close();
+ }
+
+}
diff --git a/test/bitronix/tm/mock/DelistmentTest.java b/test/bitronix/tm/mock/DelistmentTest.java
new file mode 100644
index 0000000..9cdbd0e
--- /dev/null
+++ b/test/bitronix/tm/mock/DelistmentTest.java
@@ -0,0 +1,265 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock;
+
+import bitronix.tm.BitronixTransactionManager;
+import bitronix.tm.TransactionManagerServices;
+import bitronix.tm.internal.BitronixXAException;
+import bitronix.tm.mock.events.EventRecorder;
+import bitronix.tm.mock.events.JournalLogEvent;
+import bitronix.tm.mock.events.XAResourceEndEvent;
+import bitronix.tm.mock.events.XAResourceRollbackEvent;
+import bitronix.tm.mock.events.XAResourceStartEvent;
+import bitronix.tm.mock.resource.MockJournal;
+import bitronix.tm.mock.resource.MockXAResource;
+import bitronix.tm.mock.resource.jdbc.MockitoXADataSource;
+import bitronix.tm.resource.jdbc.JdbcConnectionHandle;
+import bitronix.tm.resource.jdbc.PoolingDataSource;
+import junit.framework.TestCase;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.sql.XAConnection;
+import javax.transaction.RollbackException;
+import javax.transaction.Status;
+import javax.transaction.xa.XAException;
+import javax.transaction.xa.XAResource;
+import java.lang.reflect.Field;
+import java.lang.reflect.Proxy;
+import java.sql.Connection;
+import java.util.List;
+
+
+public class DelistmentTest extends TestCase {
+ private final static Logger log = LoggerFactory.getLogger(DelistmentTest.class);
+
+ private PoolingDataSource poolingDataSource1;
+ private PoolingDataSource poolingDataSource2;
+ private BitronixTransactionManager btm;
+
+
+ protected void setUp() throws Exception {
+ EventRecorder.clear();
+
+ // change disk journal into mock journal
+ Field field = TransactionManagerServices.class.getDeclaredField("journal");
+ field.setAccessible(true);
+ field.set(TransactionManagerServices.class, new MockJournal());
+
+ poolingDataSource1 = new PoolingDataSource();
+ poolingDataSource1.setClassName(MockitoXADataSource.class.getName());
+ poolingDataSource1.setUniqueName("pds1");
+ poolingDataSource1.setMinPoolSize(5);
+ poolingDataSource1.setMaxPoolSize(5);
+ poolingDataSource1.setAutomaticEnlistingEnabled(true);
+ poolingDataSource1.init();
+
+ poolingDataSource2 = new PoolingDataSource();
+ poolingDataSource2.setClassName(MockitoXADataSource.class.getName());
+ poolingDataSource2.setUniqueName("pds2");
+ poolingDataSource2.setMinPoolSize(5);
+ poolingDataSource2.setMaxPoolSize(5);
+ poolingDataSource2.setAutomaticEnlistingEnabled(true);
+ poolingDataSource2.init();
+
+ btm = TransactionManagerServices.getTransactionManager();
+ }
+
+ protected void tearDown() throws Exception {
+ poolingDataSource1.close();
+ poolingDataSource2.close();
+ btm.shutdown();
+ }
+
+ public void testDelistErrorOnCommit() throws Exception {
+ btm.begin();
+
+ Connection connection1 = poolingDataSource1.getConnection();
+ JdbcConnectionHandle handle1 = (JdbcConnectionHandle) Proxy.getInvocationHandler(connection1);
+ XAConnection xaConnection1 = (XAConnection) AbstractMockJdbcTest.getWrappedXAConnectionOf(handle1.getPooledConnection());
+ MockXAResource xaResource1 = (MockXAResource) xaConnection1.getXAResource();
+ connection1.createStatement(); // triggers enlistment
+
+ xaResource1.setEndException(new BitronixXAException("screw delistment", XAException.XAER_RMERR));
+ xaResource1.setRollbackException(new BitronixXAException("delistment was screwed, cannot rollback", XAException.XAER_RMERR));
+
+ Connection connection2 = poolingDataSource2.getConnection();
+ JdbcConnectionHandle handle2 = (JdbcConnectionHandle) Proxy.getInvocationHandler(connection2);
+ XAConnection xaConnection2 = (XAConnection) AbstractMockJdbcTest.getWrappedXAConnectionOf(handle2.getPooledConnection());
+ MockXAResource xaResource2 = (MockXAResource) xaConnection2.getXAResource();
+ connection2.createStatement(); // triggers enlistment
+
+ try {
+ btm.commit();
+ fail("expected RollbackException");
+ } catch (RollbackException ex) {
+ assertEquals("delistment error caused transaction rollback" + System.getProperty("line.separator") + " resource(s) [pds1] could not be delisted", ex.getMessage());
+ }
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(9, orderedEvents.size());
+ int i=0;
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_MARKED_ROLLBACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_ROLLING_BACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertTrue(((XAResourceRollbackEvent) orderedEvents.get(i++)).getSource() == xaResource2);
+ assertEquals(Status.STATUS_ROLLEDBACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ }
+
+ public void testDelistUnilateralRollbackOnCommit() throws Exception {
+ btm.begin();
+
+ Connection connection1 = poolingDataSource1.getConnection();
+ JdbcConnectionHandle handle1 = (JdbcConnectionHandle) Proxy.getInvocationHandler(connection1);
+ XAConnection xaConnection1 = (XAConnection) AbstractMockJdbcTest.getWrappedXAConnectionOf(handle1.getPooledConnection());
+ MockXAResource xaResource1 = (MockXAResource) xaConnection1.getXAResource();
+ connection1.createStatement();
+
+ xaResource1.setEndException(new BitronixXAException("what was that transaction again?", XAException.XAER_NOTA));
+ xaResource1.setRollbackException(new BitronixXAException("delistment unilaterally rolled back, cannot rollback twice", XAException.XAER_RMERR));
+
+ Connection connection2 = poolingDataSource2.getConnection();
+ JdbcConnectionHandle handle2 = (JdbcConnectionHandle) Proxy.getInvocationHandler(connection2);
+ XAConnection xaConnection2 = (XAConnection) AbstractMockJdbcTest.getWrappedXAConnectionOf(handle2.getPooledConnection());
+ MockXAResource xaResource2 = (MockXAResource) xaConnection2.getXAResource();
+ connection2.createStatement(); // triggers enlistment
+
+ try {
+ btm.commit();
+ fail("expected RollbackException");
+ } catch (RollbackException ex) {
+ assertEquals("delistment error caused transaction rollback" + System.getProperty("line.separator") + " resource(s) [pds1] unilaterally rolled back", ex.getMessage());
+ }
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(9, orderedEvents.size());
+ int i=0;
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_MARKED_ROLLBACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_ROLLING_BACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertTrue(((XAResourceRollbackEvent) orderedEvents.get(i++)).getSource() == xaResource2);
+ assertEquals(Status.STATUS_ROLLEDBACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ }
+
+ public void testDelistErrorAndUnilateralRollbackOnCommit() throws Exception {
+ btm.begin();
+
+ Connection connection1 = poolingDataSource1.getConnection();
+ JdbcConnectionHandle handle1 = (JdbcConnectionHandle) Proxy.getInvocationHandler(connection1);
+ XAConnection xaConnection1 = (XAConnection) AbstractMockJdbcTest.getWrappedXAConnectionOf(handle1.getPooledConnection());
+ MockXAResource xaResource1 = (MockXAResource) xaConnection1.getXAResource();
+ xaResource1.setEndException(new BitronixXAException("screw delistment", XAException.XAER_RMERR));
+ xaResource1.setRollbackException(new BitronixXAException("delistment was screwed, cannot rollback", XAException.XAER_RMERR));
+
+ connection1.createStatement(); // triggers enlistment
+
+ Connection connection2 = poolingDataSource2.getConnection();
+ JdbcConnectionHandle handle2 = (JdbcConnectionHandle) Proxy.getInvocationHandler(connection2);
+ XAConnection xaConnection2 = (XAConnection) AbstractMockJdbcTest.getWrappedXAConnectionOf(handle2.getPooledConnection());
+ MockXAResource xaResource2 = (MockXAResource) xaConnection2.getXAResource();
+ xaResource2.setEndException(new BitronixXAException("what was that transaction again?", XAException.XAER_NOTA));
+ xaResource2.setRollbackException(new BitronixXAException("delistment unilaterally rolled back, cannot rollback twice", XAException.XAER_RMERR));
+
+ connection2.createStatement(); // triggers enlistment
+
+ try {
+ btm.commit();
+ fail("expected RollbackException");
+ } catch (RollbackException ex) {
+ assertEquals("delistment error caused transaction rollback" + System.getProperty("line.separator")
+ + " resource(s) [pds2] unilaterally rolled back" + System.getProperty("line.separator")
+ + " resource(s) [pds1] could not be delisted"
+ , ex.getMessage());
+ }
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(8, orderedEvents.size());
+ int i=0;
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_MARKED_ROLLBACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_ROLLING_BACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_ROLLEDBACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ }
+
+ public void testDelistErrorAndUnilateralRollbackOnRollback() throws Exception {
+ btm.begin();
+
+ Connection connection1 = poolingDataSource1.getConnection();
+ JdbcConnectionHandle handle = (JdbcConnectionHandle) Proxy.getInvocationHandler(connection1);
+ XAConnection xaConnection1 = (XAConnection) AbstractMockJdbcTest.getWrappedXAConnectionOf(handle.getPooledConnection());
+ MockXAResource xaResource1 = (MockXAResource) xaConnection1.getXAResource();
+ xaResource1.setEndException(new BitronixXAException("screw delistment", XAException.XAER_RMERR));
+ xaResource1.setRollbackException(new BitronixXAException("delistment was screwed, cannot rollback", XAException.XAER_RMERR));
+
+ connection1.createStatement(); // triggers enlistment
+
+ Connection connection2 = poolingDataSource2.getConnection();
+ JdbcConnectionHandle handle2 = (JdbcConnectionHandle) Proxy.getInvocationHandler(connection2);
+ XAConnection xaConnection2 = (XAConnection) AbstractMockJdbcTest.getWrappedXAConnectionOf(handle2.getPooledConnection());
+ MockXAResource xaResource2 = (MockXAResource) xaConnection2.getXAResource();
+ xaResource2.setEndException(new BitronixXAException("what was that transaction again?", XAException.XAER_NOTA));
+ xaResource2.setRollbackException(new BitronixXAException("delistment unilaterally rolled back, cannot rollback twice", XAException.XAER_RMERR));
+
+ connection2.createStatement(); // triggers enlistment
+
+ btm.rollback();
+
+ log.info(EventRecorder.dumpToString());
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(8, orderedEvents.size());
+ int i=0;
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_MARKED_ROLLBACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_ROLLING_BACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_ROLLEDBACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ }
+
+
+}
diff --git a/test/bitronix/tm/mock/JdbcPoolTest.java b/test/bitronix/tm/mock/JdbcPoolTest.java
new file mode 100644
index 0000000..63067e5
--- /dev/null
+++ b/test/bitronix/tm/mock/JdbcPoolTest.java
@@ -0,0 +1,445 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock;
+
+import bitronix.tm.TransactionManagerServices;
+import bitronix.tm.mock.resource.jdbc.MockitoXADataSource;
+import bitronix.tm.recovery.RecoveryException;
+import bitronix.tm.resource.common.XAPool;
+import bitronix.tm.resource.jdbc.PoolingDataSource;
+import junit.framework.TestCase;
+
+import javax.sql.DataSource;
+import javax.sql.XADataSource;
+import javax.transaction.TransactionManager;
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.sql.CallableStatement;
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+import java.sql.Statement;
+
+/**
+ *
+ * @author lorban
+ */
+public class JdbcPoolTest extends TestCase {
+
+ private PoolingDataSource pds;
+
+ protected void setUp() throws Exception {
+ TransactionManagerServices.getConfiguration().setJournal("null").setGracefulShutdownInterval(0);
+ TransactionManagerServices.getTransactionManager();
+
+ MockitoXADataSource.setStaticCloseXAConnectionException(null);
+ MockitoXADataSource.setStaticGetXAConnectionException(null);
+
+ pds = new PoolingDataSource();
+ pds.setMinPoolSize(1);
+ pds.setMaxPoolSize(2);
+ pds.setMaxIdleTime(1);
+ pds.setClassName(MockitoXADataSource.class.getName());
+ pds.setUniqueName("pds");
+ pds.setAllowLocalTransactions(true);
+ pds.setAcquisitionTimeout(1);
+ pds.init();
+ }
+
+
+ protected void tearDown() throws Exception {
+ pds.close();
+
+ TransactionManagerServices.getTransactionManager().shutdown();
+ }
+
+ public void testInitFailure() throws Exception {
+ pds.close();
+
+ pds = new PoolingDataSource();
+ pds.setMinPoolSize(0);
+ pds.setMaxPoolSize(2);
+ pds.setMaxIdleTime(1);
+ pds.setClassName(MockitoXADataSource.class.getName());
+ pds.setUniqueName("pds");
+ pds.setAllowLocalTransactions(true);
+ pds.setAcquisitionTimeout(1);
+
+ TransactionManagerServices.getTransactionManager().begin();
+
+ MockitoXADataSource.setStaticGetXAConnectionException(new SQLException("not yet started"));
+ try {
+ pds.init();
+ } catch (Exception e) {
+
+ }
+
+ MockitoXADataSource.setStaticGetXAConnectionException(null);
+ pds.init();
+
+ pds.getConnection().prepareStatement("");
+
+ TransactionManagerServices.getTransactionManager().commit();
+ }
+
+ public void testReEnteringRecovery() throws Exception {
+ pds.startRecovery();
+ try {
+ pds.startRecovery();
+ fail("expected RecoveryException");
+ } catch (RecoveryException ex) {
+ assertEquals("recovery already in progress on a PoolingDataSource containing an XAPool of resource pds with 1 connection(s) (0 still available)", ex.getMessage());
+ }
+
+ // make sure startRecovery() can be called again once endRecovery() has been called
+ pds.endRecovery();
+ pds.startRecovery();
+ pds.endRecovery();
+ }
+
+ public void testPoolGrowth() throws Exception {
+ Field poolField = pds.getClass().getDeclaredField("pool");
+ poolField.setAccessible(true);
+ XAPool pool = (XAPool) poolField.get(pds);
+
+ assertEquals(1, pool.inPoolSize());
+ assertEquals(1, pool.totalPoolSize());
+
+ Connection c1 = pds.getConnection();
+ assertEquals(0, pool.inPoolSize());
+ assertEquals(1, pool.totalPoolSize());
+
+ Connection c2 = pds.getConnection();
+ assertEquals(0, pool.inPoolSize());
+ assertEquals(2, pool.totalPoolSize());
+
+ try {
+ pds.getConnection();
+ fail("should not be able to get a 3rd connection");
+ } catch (SQLException ex) {
+ assertEquals("unable to get a connection from pool of a PoolingDataSource containing an XAPool of resource pds with 2 connection(s) (0 still available)", ex.getMessage());
+ }
+
+ c1.close();
+ c2.close();
+ assertEquals(2, pool.inPoolSize());
+ assertEquals(2, pool.totalPoolSize());
+ }
+
+ public void testPoolShrink() throws Exception {
+ Field poolField = pds.getClass().getDeclaredField("pool");
+ poolField.setAccessible(true);
+ XAPool pool = (XAPool) poolField.get(pds);
+
+ assertEquals(1, pool.inPoolSize());
+ assertEquals(1, pool.totalPoolSize());
+
+ Connection c1 = pds.getConnection();
+ assertEquals(0, pool.inPoolSize());
+ assertEquals(1, pool.totalPoolSize());
+
+ Connection c2 = pds.getConnection();
+ assertEquals(0, pool.inPoolSize());
+ assertEquals(2, pool.totalPoolSize());
+
+ c1.close();
+ c2.close();
+
+ Thread.sleep(1100); // leave enough time for the ide connections to expire
+ TransactionManagerServices.getTaskScheduler().interrupt(); // wake up the task scheduler
+ Thread.sleep(1100); // leave enough time for the scheduled shrinking task to do its work
+
+ assertEquals(1, pool.inPoolSize());
+ assertEquals(1, pool.totalPoolSize());
+ }
+
+ public void testPoolShrinkErrorHandling() throws Exception {
+ Field poolField = pds.getClass().getDeclaredField("pool");
+ poolField.setAccessible(true);
+ XAPool pool = (XAPool) poolField.get(pds);
+
+ pds.setMinPoolSize(0);
+ pds.reset();
+ pds.setMinPoolSize(1);
+ MockitoXADataSource.setStaticCloseXAConnectionException(new SQLException("close fails because datasource broken"));
+ pds.reset();
+
+ // the pool is now loaded with one connection which will throw an exception when closed
+ Thread.sleep(1100); // leave enough time for the ide connections to expire
+ TransactionManagerServices.getTaskScheduler().interrupt(); // wake up the task scheduler
+ Thread.sleep(100); // leave enough time for the scheduled shrinking task to do its work
+ assertEquals(1, pool.inPoolSize());
+
+ MockitoXADataSource.setStaticGetXAConnectionException(new SQLException("getXAConnection fails because datasource broken"));
+ Thread.sleep(1100); // leave enough time for the ide connections to expire
+ TransactionManagerServices.getTaskScheduler().interrupt(); // wake up the task scheduler
+ Thread.sleep(100); // leave enough time for the scheduled shrinking task to do its work
+ assertEquals(0, pool.inPoolSize());
+
+ MockitoXADataSource.setStaticGetXAConnectionException(null);
+ Thread.sleep(1100); // leave enough time for the ide connections to expire
+ TransactionManagerServices.getTaskScheduler().interrupt(); // wake up the task scheduler
+ Thread.sleep(100); // leave enough time for the scheduled shrinking task to do its work
+ assertEquals(1, pool.inPoolSize());
+ }
+
+ public void testPoolReset() throws Exception {
+ Field poolField = pds.getClass().getDeclaredField("pool");
+ poolField.setAccessible(true);
+ XAPool pool = (XAPool) poolField.get(pds);
+
+ assertEquals(1, pool.inPoolSize());
+ assertEquals(1, pool.totalPoolSize());
+
+ Connection c1 = pds.getConnection();
+ assertEquals(0, pool.inPoolSize());
+ assertEquals(1, pool.totalPoolSize());
+
+ Connection c2 = pds.getConnection();
+ assertEquals(0, pool.inPoolSize());
+ assertEquals(2, pool.totalPoolSize());
+
+ c1.close();
+ c2.close();
+
+ pds.reset();
+
+ assertEquals(1, pool.inPoolSize());
+ assertEquals(1, pool.totalPoolSize());
+ }
+
+ public void testPoolResetErrorHandling() throws Exception {
+ Field poolField = pds.getClass().getDeclaredField("pool");
+ poolField.setAccessible(true);
+ XAPool pool = (XAPool) poolField.get(pds);
+
+ pds.setMinPoolSize(0);
+ pds.reset();
+ pds.setMinPoolSize(1);
+ MockitoXADataSource.setStaticCloseXAConnectionException(new SQLException("close fails because datasource broken"));
+ pds.reset();
+
+ // the pool is now loaded with one connection which will throw an exception when closed
+ pds.reset();
+
+ try {
+ MockitoXADataSource.setStaticGetXAConnectionException(new SQLException("getXAConnection fails because datasource broken"));
+ pds.reset();
+ fail("expected SQLException");
+ } catch (SQLException ex) {
+ assertEquals("getXAConnection fails because datasource broken", ex.getMessage());
+ assertEquals(0, pool.inPoolSize());
+ }
+
+ MockitoXADataSource.setStaticGetXAConnectionException(null);
+ pds.reset();
+ assertEquals(1, pool.inPoolSize());
+ }
+
+ public void testCloseLocalContext() throws Exception {
+ Connection c = pds.getConnection();
+ Statement stmt = c.createStatement();
+ stmt.close();
+ c.close();
+ assertTrue(c.isClosed());
+
+ try {
+ c.createStatement();
+ fail("expected SQLException");
+ } catch (SQLException ex) {
+ assertEquals("connection handle already closed", ex.getMessage());
+ }
+ }
+
+ public void testCloseGlobalContextRecycle() throws Exception {
+ TransactionManager tm = TransactionManagerServices.getTransactionManager();
+ tm.begin();
+
+ Connection c1 = pds.getConnection();
+ c1.createStatement();
+ c1.close();
+ assertTrue(c1.isClosed());
+
+ try {
+ c1.createStatement();
+ fail("expected SQLException");
+ } catch (SQLException ex) {
+ assertEquals("connection handle already closed", ex.getMessage());
+ }
+
+ Connection c2 = pds.getConnection();
+ c2.createStatement();
+
+ try {
+ c2.commit();
+ fail("expected SQLException");
+ } catch (SQLException ex) {
+ assertEquals("cannot commit a resource enlisted in a global transaction", ex.getMessage());
+ }
+
+ tm.commit();
+ assertFalse(c2.isClosed());
+
+ c2.close();
+ assertTrue(c2.isClosed());
+
+ try {
+ c2.createStatement();
+ fail("expected SQLException");
+ } catch (SQLException ex) {
+ assertEquals("connection handle already closed", ex.getMessage());
+ }
+
+ try {
+ c2.commit();
+ fail("expected SQLException");
+ } catch (SQLException ex) {
+ assertEquals("connection handle already closed", ex.getMessage());
+ }
+ }
+
+ public void testCloseGlobalContextNoRecycle() throws Exception {
+ TransactionManager tm = TransactionManagerServices.getTransactionManager();
+ tm.begin();
+
+ Connection c1 = pds.getConnection();
+ Connection c2 = pds.getConnection();
+ c1.createStatement();
+ c1.close();
+ assertTrue(c1.isClosed());
+
+ try {
+ c1.createStatement();
+ fail("expected SQLException");
+ } catch (SQLException ex) {
+ assertEquals("connection handle already closed", ex.getMessage());
+ }
+
+ c2.createStatement();
+
+ try {
+ c2.commit();
+ fail("expected SQLException");
+ } catch (SQLException ex) {
+ assertEquals("cannot commit a resource enlisted in a global transaction", ex.getMessage());
+ }
+
+ tm.commit();
+ assertFalse(c2.isClosed());
+
+ c2.close();
+ assertTrue(c2.isClosed());
+
+ try {
+ c2.createStatement();
+ fail("expected SQLException");
+ } catch (SQLException ex) {
+ assertEquals("connection handle already closed", ex.getMessage());
+ }
+
+ try {
+ c2.commit();
+ fail("expected SQLException");
+ } catch (SQLException ex) {
+ assertEquals("connection handle already closed", ex.getMessage());
+ }
+ }
+
+ public void testPoolNotStartingTransactionManager() throws Exception {
+ // make sure TM is not running
+ TransactionManagerServices.getTransactionManager().shutdown();
+
+ PoolingDataSource pds = new PoolingDataSource();
+ pds.setMinPoolSize(1);
+ pds.setMaxPoolSize(2);
+ pds.setMaxIdleTime(1);
+ pds.setClassName(MockitoXADataSource.class.getName());
+ pds.setUniqueName("pds2");
+ pds.setAllowLocalTransactions(true);
+ pds.setAcquisitionTimeout(1);
+ pds.init();
+
+ assertFalse(TransactionManagerServices.isTransactionManagerRunning());
+
+ Connection c = pds.getConnection();
+ Statement stmt = c.createStatement();
+ stmt.close();
+ c.close();
+
+ assertFalse(TransactionManagerServices.isTransactionManagerRunning());
+
+ pds.close();
+
+ assertFalse(TransactionManagerServices.isTransactionManagerRunning());
+ }
+
+ public void testWrappers() throws Exception {
+ try {
+ Connection.class.getMethod("isWrapperFor");
+ } catch (NoSuchMethodException e) {
+ // if there is no such method this means the JVM is running with pre-JDBC4 classes
+ // so this test becomes pointless and must be skipped
+ return;
+ }
+
+ // XADataSource
+ assertTrue(pds.isWrapperFor(XADataSource.class));
+ assertFalse(pds.isWrapperFor(DataSource.class));
+ XADataSource unwrappedXads = (XADataSource) pds.unwrap(XADataSource.class);
+ assertEquals(MockitoXADataSource.class.getName(), unwrappedXads.getClass().getName());
+
+ // Connection
+ Connection c = pds.getConnection();
+ assertTrue(isWrapperFor(c, Connection.class));
+ Connection unwrappedConnection = (Connection) unwrap(c, Connection.class);
+ assertTrue(unwrappedConnection.getClass().getName().contains("java.sql.Connection") && unwrappedConnection.getClass().getName().contains("EnhancerByMockito"));
+
+ // Statement
+ Statement stmt = c.createStatement();
+ assertTrue(isWrapperFor(stmt, Statement.class));
+ Statement unwrappedStmt = (Statement) unwrap(stmt, Statement.class);
+ assertTrue(unwrappedStmt.getClass().getName().contains("java.sql.Statement") && unwrappedStmt.getClass().getName().contains("EnhancerByMockito"));
+
+ // PreparedStatement
+ PreparedStatement pstmt = c.prepareStatement("mock sql");
+ assertTrue(isWrapperFor(pstmt, PreparedStatement.class));
+ Statement unwrappedPStmt = (Statement) unwrap(pstmt, PreparedStatement.class);
+ assertTrue(unwrappedPStmt.getClass().getName().contains("java.sql.PreparedStatement") && unwrappedPStmt.getClass().getName().contains("EnhancerByMockito"));
+
+ // CallableStatement
+ CallableStatement cstmt = c.prepareCall("mock stored proc");
+ assertTrue(isWrapperFor(cstmt, CallableStatement.class));
+ Statement unwrappedCStmt = (Statement) unwrap(cstmt, CallableStatement.class);
+ assertTrue(unwrappedCStmt.getClass().getName().contains("java.sql.CallableStatement") && unwrappedCStmt.getClass().getName().contains("EnhancerByMockito"));
+ }
+
+ private static boolean isWrapperFor(Object obj, Class param) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
+ Method isWrapperForMethod = obj.getClass().getMethod("isWrapperFor", Class.class);
+ return (Boolean) isWrapperForMethod.invoke(obj, param);
+ }
+
+ private static Object unwrap(Object obj, Class param) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
+ Method unwrapMethod = obj.getClass().getMethod("unwrap", Class.class);
+ return unwrapMethod.invoke(obj, param);
+ }
+
+}
diff --git a/test/bitronix/tm/mock/JdbcSharedConnectionTest.java b/test/bitronix/tm/mock/JdbcSharedConnectionTest.java
new file mode 100644
index 0000000..3401a54
--- /dev/null
+++ b/test/bitronix/tm/mock/JdbcSharedConnectionTest.java
@@ -0,0 +1,181 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock;
+
+import java.lang.reflect.Proxy;
+import java.sql.Connection;
+import java.util.ArrayList;
+
+import javax.transaction.*;
+
+import org.slf4j.*;
+
+import bitronix.tm.*;
+import bitronix.tm.resource.jdbc.JdbcConnectionHandle;
+
+/**
+ *
+ * @author lorban
+ */
+public class JdbcSharedConnectionTest extends AbstractMockJdbcTest {
+ private final static Logger log = LoggerFactory.getLogger(NewJdbcProperUsageMockTest.class);
+
+ public void testSharedConnectionMultithreaded() throws Exception {
+ if (log.isDebugEnabled()) log.debug("*** getting TM");
+ final BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+ tm.setTransactionTimeout(120);
+
+ if (log.isDebugEnabled()) log.debug("*** before begin");
+ tm.begin();
+ if (log.isDebugEnabled()) log.debug("*** after begin");
+
+ final Transaction suspended = tm.suspend();
+
+ final ArrayList twoConnections = new ArrayList();
+ Thread thread1 = new Thread() {
+ public void run() {
+ try {
+ tm.resume(suspended);
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS1");
+ Connection connection = poolingDataSource1.getConnection();
+ connection.createStatement();
+ twoConnections.add(connection);
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail(e.getMessage());
+ }
+ }
+ };
+ thread1.start();
+ thread1.join();
+
+ Thread thread2 = new Thread() {
+ public void run() {
+ try {
+ tm.resume(suspended);
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS1");
+ Connection connection = poolingDataSource1.getConnection();
+ connection.createStatement();
+ twoConnections.add(connection);
+ tm.commit();
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail(e.getMessage());
+ }
+ }
+ };
+ thread2.start();
+ thread2.join();
+
+ JdbcConnectionHandle handle1 = (JdbcConnectionHandle) Proxy.getInvocationHandler(twoConnections.get(0));
+ JdbcConnectionHandle handle2 = (JdbcConnectionHandle) Proxy.getInvocationHandler(twoConnections.get(1));
+ assertNotSame(handle1.getConnection(), handle2.getConnection());
+
+ }
+
+ public void testUnSharedConnection() throws Exception {
+ if (log.isDebugEnabled()) log.debug("*** getting TM");
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+ tm.setTransactionTimeout(120);
+
+ if (log.isDebugEnabled()) log.debug("*** before begin");
+ tm.begin();
+ if (log.isDebugEnabled()) log.debug("*** after begin");
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS2");
+ Connection connection1 = poolingDataSource2.getConnection();
+ // createStatement causes enlistment
+ connection1.createStatement();
+
+ if (log.isDebugEnabled()) log.debug("*** getting second connection from DS2");
+ Connection connection2 = poolingDataSource2.getConnection();
+
+ JdbcConnectionHandle handle1 = (JdbcConnectionHandle) Proxy.getInvocationHandler(connection1);
+ JdbcConnectionHandle handle2 = (JdbcConnectionHandle) Proxy.getInvocationHandler(connection2);
+ assertNotSame(handle1.getConnection(), handle2.getConnection());
+
+ connection1.close();
+ connection2.close();
+
+ tm.commit();
+ }
+
+ public void testSharedConnectionInLocalTransaction() throws Exception {
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS1");
+ Connection connection1 = poolingDataSource1.getConnection();
+ // createStatement causes enlistment
+ connection1.createStatement();
+
+ if (log.isDebugEnabled()) log.debug("*** getting second connection from DS1");
+ Connection connection2 = poolingDataSource1.getConnection();
+
+ JdbcConnectionHandle handle1 = (JdbcConnectionHandle) Proxy.getInvocationHandler(connection1);
+ JdbcConnectionHandle handle2 = (JdbcConnectionHandle) Proxy.getInvocationHandler(connection2);
+ assertNotSame(handle1.getConnection(), handle2.getConnection());
+
+ connection1.close();
+ connection2.close();
+ }
+
+ public void testUnSharedConnectionInLocalTransaction() throws Exception {
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS2");
+ Connection connection1 = poolingDataSource2.getConnection();
+ // createStatement causes enlistment
+ connection1.createStatement();
+
+ if (log.isDebugEnabled()) log.debug("*** getting second connection from DS2");
+ Connection connection2 = poolingDataSource2.getConnection();
+
+ JdbcConnectionHandle handle1 = (JdbcConnectionHandle) Proxy.getInvocationHandler(connection1);
+ JdbcConnectionHandle handle2 = (JdbcConnectionHandle) Proxy.getInvocationHandler(connection2);
+ assertNotSame(handle1.getConnection(), handle2.getConnection());
+
+ connection1.close();
+ connection2.close();
+ }
+
+ public void testSharedConnectionInGlobal() throws Exception {
+ if (log.isDebugEnabled()) log.debug("*** getting TM");
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+ tm.setTransactionTimeout(120);
+
+ if (log.isDebugEnabled()) log.debug("*** before begin");
+ tm.begin();
+ if (log.isDebugEnabled()) log.debug("*** after begin");
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS1");
+ Connection connection1 = poolingDataSource1.getConnection();
+
+ if (log.isDebugEnabled()) log.debug("*** getting second connection from DS1");
+ Connection connection2 = poolingDataSource1.getConnection();
+
+ JdbcConnectionHandle handle1 = (JdbcConnectionHandle) Proxy.getInvocationHandler(connection1);
+ JdbcConnectionHandle handle2 = (JdbcConnectionHandle) Proxy.getInvocationHandler(connection2);
+ assertSame(handle1.getConnection(), handle2.getConnection());
+
+ connection1.close();
+ connection2.close();
+
+ tm.commit();
+ }
+}
diff --git a/test/bitronix/tm/mock/JmsPoolTest.java b/test/bitronix/tm/mock/JmsPoolTest.java
new file mode 100644
index 0000000..b80c264
--- /dev/null
+++ b/test/bitronix/tm/mock/JmsPoolTest.java
@@ -0,0 +1,257 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock;
+
+import bitronix.tm.TransactionManagerServices;
+import bitronix.tm.mock.resource.jms.MockXAConnectionFactory;
+import bitronix.tm.recovery.RecoveryException;
+import bitronix.tm.resource.common.XAPool;
+import bitronix.tm.resource.jms.PoolingConnectionFactory;
+import junit.framework.TestCase;
+
+import javax.jms.Connection;
+import javax.jms.JMSException;
+import javax.jms.Session;
+import javax.jms.Queue;
+import javax.jms.MessageProducer;
+import java.lang.reflect.Field;
+
+/**
+ *
+ * @author lorban
+ */
+public class JmsPoolTest extends TestCase {
+
+ private PoolingConnectionFactory pcf;
+
+ protected void setUp() throws Exception {
+ TransactionManagerServices.getConfiguration().setJournal("null").setGracefulShutdownInterval(0);
+ TransactionManagerServices.getTransactionManager();
+
+ MockXAConnectionFactory.setStaticCloseXAConnectionException(null);
+ MockXAConnectionFactory.setStaticCreateXAConnectionException(null);
+
+ pcf = new PoolingConnectionFactory();
+ pcf.setMinPoolSize(1);
+ pcf.setMaxPoolSize(2);
+ pcf.setMaxIdleTime(1);
+ pcf.setClassName(MockXAConnectionFactory.class.getName());
+ pcf.setUniqueName("pcf");
+ pcf.setAllowLocalTransactions(true);
+ pcf.setAcquisitionTimeout(1);
+ pcf.init();
+ }
+
+
+ protected void tearDown() throws Exception {
+ pcf.close();
+
+ TransactionManagerServices.getTransactionManager().shutdown();
+ }
+
+ public void testInitFailure() throws Exception {
+ pcf.close();
+
+ pcf = new PoolingConnectionFactory();
+ pcf.setMinPoolSize(0);
+ pcf.setMaxPoolSize(2);
+ pcf.setMaxIdleTime(1);
+ pcf.setClassName(MockXAConnectionFactory.class.getName());
+ pcf.setUniqueName("pcf");
+ pcf.setAllowLocalTransactions(true);
+ pcf.setAcquisitionTimeout(1);
+
+ TransactionManagerServices.getTransactionManager().begin();
+
+ MockXAConnectionFactory.setStaticCreateXAConnectionException(new JMSException("not yet started"));
+ try {
+ pcf.init();
+ } catch (Exception e) {
+
+ }
+
+ MockXAConnectionFactory.setStaticCreateXAConnectionException(null);
+ pcf.init();
+
+ pcf.createConnection().createSession(true, 0).createProducer(null).send(null);
+
+ TransactionManagerServices.getTransactionManager().commit();
+ }
+
+ public void testReEnteringRecovery() throws Exception {
+ pcf.startRecovery();
+ try {
+ pcf.startRecovery();
+ fail("excpected RecoveryException");
+ } catch (RecoveryException ex) {
+ assertEquals("recovery already in progress on a PoolingConnectionFactory with an XAPool of resource pcf with 1 connection(s) (0 still available)", ex.getMessage());
+ }
+
+ // make sure startRecovery() can be called again once endRecovery() has been called
+ pcf.endRecovery();
+ pcf.startRecovery();
+ pcf.endRecovery();
+ }
+
+
+ public void testPoolNotStartingTransactionManager() throws Exception {
+ // make sure TM is not running
+ TransactionManagerServices.getTransactionManager().shutdown();
+
+ PoolingConnectionFactory pcf = new PoolingConnectionFactory();
+ pcf.setMinPoolSize(1);
+ pcf.setMaxPoolSize(2);
+ pcf.setMaxIdleTime(1);
+ pcf.setClassName(MockXAConnectionFactory.class.getName());
+ pcf.setUniqueName("pcf2");
+ pcf.setAllowLocalTransactions(true);
+ pcf.setAcquisitionTimeout(1);
+ pcf.init();
+
+ assertFalse(TransactionManagerServices.isTransactionManagerRunning());
+
+ Connection c = pcf.createConnection();
+ Session s = c.createSession(false, 0);
+ Queue q = s.createQueue("q");
+ MessageProducer mp = s.createProducer(q);
+ mp.send(s.createTextMessage("test123"));
+ mp.close();
+ s.close();
+ c.close();
+
+ assertFalse(TransactionManagerServices.isTransactionManagerRunning());
+
+ pcf.close();
+
+ assertFalse(TransactionManagerServices.isTransactionManagerRunning());
+ }
+
+ public void testPoolShrink() throws Exception {
+ Field poolField = pcf.getClass().getDeclaredField("pool");
+ poolField.setAccessible(true);
+ XAPool pool = (XAPool) poolField.get(pcf);
+
+ assertEquals(1, pool.inPoolSize());
+ assertEquals(1, pool.totalPoolSize());
+
+ Connection c1 = pcf.createConnection();
+ assertEquals(0, pool.inPoolSize());
+ assertEquals(1, pool.totalPoolSize());
+
+ Connection c2 = pcf.createConnection();
+ assertEquals(0, pool.inPoolSize());
+ assertEquals(2, pool.totalPoolSize());
+
+ c1.close();
+ c2.close();
+
+ Thread.sleep(1100); // leave enough time for the ide connections to expire
+ TransactionManagerServices.getTaskScheduler().interrupt(); // wake up the task scheduler
+ Thread.sleep(1100); // leave enough time for the scheduled shrinking task to do its work
+
+ assertEquals(1, pool.inPoolSize());
+ assertEquals(1, pool.totalPoolSize());
+ }
+
+ public void testPoolShrinkErrorHandling() throws Exception {
+ Field poolField = pcf.getClass().getDeclaredField("pool");
+ poolField.setAccessible(true);
+ XAPool pool = (XAPool) poolField.get(pcf);
+
+ pcf.setMinPoolSize(0);
+ pcf.reset();
+ pcf.setMinPoolSize(1);
+ MockXAConnectionFactory.setStaticCloseXAConnectionException(new JMSException("close fails because connection factory broken"));
+ pcf.reset();
+
+ // the pool is now loaded with one connection which will throw an exception when closed
+ Thread.sleep(1100); // leave enough time for the ide connections to expire
+ TransactionManagerServices.getTaskScheduler().interrupt(); // wake up the task scheduler
+ Thread.sleep(100); // leave enough time for the scheduled shrinking task to do its work
+ assertEquals(1, pool.inPoolSize());
+
+ MockXAConnectionFactory.setStaticCreateXAConnectionException(new JMSException("createXAConnection fails because connection factory broken"));
+ Thread.sleep(1100); // leave enough time for the ide connections to expire
+ TransactionManagerServices.getTaskScheduler().interrupt(); // wake up the task scheduler
+ Thread.sleep(100); // leave enough time for the scheduled shrinking task to do its work
+ assertEquals(0, pool.inPoolSize());
+
+ MockXAConnectionFactory.setStaticCreateXAConnectionException(null);
+ Thread.sleep(1100); // leave enough time for the ide connections to expire
+ TransactionManagerServices.getTaskScheduler().interrupt(); // wake up the task scheduler
+ Thread.sleep(100); // leave enough time for the scheduled shrinking task to do its work
+ assertEquals(1, pool.inPoolSize());
+ }
+
+ public void testPoolReset() throws Exception {
+ Field poolField = pcf.getClass().getDeclaredField("pool");
+ poolField.setAccessible(true);
+ XAPool pool = (XAPool) poolField.get(pcf);
+
+ assertEquals(1, pool.inPoolSize());
+ assertEquals(1, pool.totalPoolSize());
+
+ Connection c1 = pcf.createConnection();
+ assertEquals(0, pool.inPoolSize());
+ assertEquals(1, pool.totalPoolSize());
+
+ Connection c2 = pcf.createConnection();
+ assertEquals(0, pool.inPoolSize());
+ assertEquals(2, pool.totalPoolSize());
+
+ c1.close();
+ c2.close();
+
+ pcf.reset();
+
+ assertEquals(1, pool.inPoolSize());
+ assertEquals(1, pool.totalPoolSize());
+ }
+
+ public void testPoolResetErrorHandling() throws Exception {
+ Field poolField = pcf.getClass().getDeclaredField("pool");
+ poolField.setAccessible(true);
+ XAPool pool = (XAPool) poolField.get(pcf);
+
+ pcf.setMinPoolSize(0);
+ pcf.reset();
+ pcf.setMinPoolSize(1);
+ MockXAConnectionFactory.setStaticCloseXAConnectionException(new JMSException("close fails because connection factory broken"));
+ pcf.reset();
+
+ // the pool is now loaded with one connection which will throw an exception when closed
+ pcf.reset();
+
+ try {
+ MockXAConnectionFactory.setStaticCreateXAConnectionException(new JMSException("createXAConnection fails because connection factory broken"));
+ pcf.reset();
+ fail("expected JMSException");
+ } catch (JMSException ex) {
+ assertEquals("createXAConnection fails because connection factory broken", ex.getMessage());
+ assertEquals(0, pool.inPoolSize());
+ }
+
+ MockXAConnectionFactory.setStaticCreateXAConnectionException(null);
+ pcf.reset();
+ assertEquals(1, pool.inPoolSize());
+ }
+
+}
diff --git a/test/bitronix/tm/mock/JmsProperUsageMockTest.java b/test/bitronix/tm/mock/JmsProperUsageMockTest.java
new file mode 100644
index 0000000..60286a4
--- /dev/null
+++ b/test/bitronix/tm/mock/JmsProperUsageMockTest.java
@@ -0,0 +1,117 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock;
+
+import bitronix.tm.BitronixTransactionManager;
+import bitronix.tm.TransactionManagerServices;
+import bitronix.tm.resource.jms.PoolingConnectionFactory;
+import bitronix.tm.mock.events.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.transaction.*;
+import javax.transaction.xa.XAResource;
+import javax.jms.Connection;
+import javax.jms.Session;
+import javax.jms.Queue;
+import javax.jms.MessageProducer;
+import java.util.List;
+import java.io.*;
+
+/**
+ *
+ * @author lorban
+ */
+public class JmsProperUsageMockTest extends AbstractMockJmsTest {
+
+ private final static Logger log = LoggerFactory.getLogger(JmsProperUsageMockTest.class);
+
+ @Override
+ protected void setUp() throws Exception {
+ super.setUp();
+ TransactionManagerServices.getTransactionManager(); // start TM
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ TransactionManagerServices.getTransactionManager().shutdown(); // stop TM
+ }
+
+ public void testSimpleWorkingCase() throws Exception {
+ if (log.isDebugEnabled()) log.debug("*** getting TM");
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+ if (log.isDebugEnabled()) log.debug("*** before begin");
+ tm.setTransactionTimeout(10);
+ tm.begin();
+ if (log.isDebugEnabled()) log.debug("*** after begin");
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from CF1");
+ Connection connection1 = poolingConnectionFactory1.createConnection();
+
+ if (log.isDebugEnabled()) log.debug("*** creating session 1 on connection 1");
+ Session session1 = connection1.createSession(false, Session.AUTO_ACKNOWLEDGE);
+
+ if (log.isDebugEnabled()) log.debug("*** creating queue 1 on session 1");
+ Queue queue1 = session1.createQueue("queue");
+
+ if (log.isDebugEnabled()) log.debug("*** creating producer1 on session 1");
+ MessageProducer producer1 = session1.createProducer(queue1);
+
+ if (log.isDebugEnabled()) log.debug("*** sending message on producer1");
+ producer1.send(session1.createTextMessage("testSimpleWorkingCase"));
+
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 1");
+ connection1.close();
+
+ if (log.isDebugEnabled()) log.debug("*** committing");
+ tm.commit();
+ if (log.isDebugEnabled()) log.debug("*** TX is done");
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(8, orderedEvents.size());
+ int i=0;
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_PREPARING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_PREPARED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_COMMITTING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(true, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(Status.STATUS_COMMITTED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ }
+
+ public void testSerialization() throws Exception {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ ObjectOutputStream oos = new ObjectOutputStream(baos);
+ oos.writeObject(poolingConnectionFactory1);
+ oos.close();
+
+ ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
+ ObjectInputStream ois = new ObjectInputStream(bais);
+ poolingConnectionFactory1 = (PoolingConnectionFactory) ois.readObject();
+ ois.close();
+ }
+}
diff --git a/test/bitronix/tm/mock/NewJdbcProperUsageMockTest.java b/test/bitronix/tm/mock/NewJdbcProperUsageMockTest.java
new file mode 100644
index 0000000..eb74c2d
--- /dev/null
+++ b/test/bitronix/tm/mock/NewJdbcProperUsageMockTest.java
@@ -0,0 +1,1127 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock;
+
+import java.io.*;
+import java.lang.reflect.*;
+import java.sql.*;
+import java.util.*;
+
+import javax.sql.XAConnection;
+import javax.transaction.*;
+import javax.transaction.xa.*;
+
+import org.slf4j.*;
+
+import bitronix.tm.*;
+import bitronix.tm.mock.events.*;
+import bitronix.tm.mock.resource.MockXAResource;
+import bitronix.tm.mock.resource.jdbc.MockDriver;
+import bitronix.tm.resource.common.XAPool;
+import bitronix.tm.resource.jdbc.*;
+import bitronix.tm.resource.jdbc.lrc.LrcXADataSource;
+
+/**
+ *
+ * @author lorban
+ */
+public class NewJdbcProperUsageMockTest extends AbstractMockJdbcTest {
+
+ private final static Logger log = LoggerFactory.getLogger(NewJdbcProperUsageMockTest.class);
+ private static final int LOOPS = 2;
+
+ public void testSimpleWorkingCase() throws Exception {
+ if (log.isDebugEnabled()) log.debug("*** getting TM");
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+ if (log.isDebugEnabled()) log.debug("*** before begin");
+ tm.setTransactionTimeout(10);
+ tm.begin();
+ if (log.isDebugEnabled()) log.debug("*** after begin");
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS1");
+ Connection connection1 = poolingDataSource1.getConnection();
+ if (log.isDebugEnabled()) log.debug("*** creating statement 1 on connection 1");
+ connection1.createStatement();
+ if (log.isDebugEnabled()) log.debug("*** creating statement 2 on connection 1");
+ connection1.createStatement();
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS2");
+ Connection connection2 = poolingDataSource2.getConnection();
+ if (log.isDebugEnabled()) log.debug("*** creating statement 1 on connection 2");
+ connection2.createStatement();
+ if (log.isDebugEnabled()) log.debug("*** creating statement 2 on connection 2");
+ connection2.createStatement();
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 1");
+ connection1.close();
+ if (log.isDebugEnabled()) log.debug("*** closing connection 2");
+ connection2.close();
+
+ if (log.isDebugEnabled()) log.debug("*** committing");
+ tm.commit();
+ if (log.isDebugEnabled()) log.debug("*** TX is done");
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(17, orderedEvents.size());
+ int i=0;
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_PREPARING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResource.XA_OK, ((XAResourcePrepareEvent) orderedEvents.get(i++)).getReturnCode());
+ assertEquals(XAResource.XA_OK, ((XAResourcePrepareEvent) orderedEvents.get(i++)).getReturnCode());
+ assertEquals(Status.STATUS_PREPARED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_COMMITTING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(false, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(false, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(Status.STATUS_COMMITTED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ }
+
+ public void testOrderedCommitResources() throws Exception {
+ poolingDataSource1.setTwoPcOrderingPosition(200);
+ poolingDataSource2.setTwoPcOrderingPosition(-1);
+
+ if (log.isDebugEnabled()) log.debug("*** getting TM");
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+ if (log.isDebugEnabled()) log.debug("*** before begin");
+ tm.setTransactionTimeout(10);
+ tm.begin();
+ if (log.isDebugEnabled()) log.debug("*** after begin");
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS1");
+ Connection connection1 = poolingDataSource1.getConnection();
+ if (log.isDebugEnabled()) log.debug("*** creating statement 1 on connection 1");
+ connection1.createStatement();
+ if (log.isDebugEnabled()) log.debug("*** creating statement 2 on connection 1");
+ connection1.createStatement();
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS2");
+ Connection connection2 = poolingDataSource2.getConnection();
+ if (log.isDebugEnabled()) log.debug("*** creating statement 1 on connection 2");
+ connection2.createStatement();
+ if (log.isDebugEnabled()) log.debug("*** creating statement 2 on connection 2");
+ connection2.createStatement();
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 1");
+ connection1.close();
+ if (log.isDebugEnabled()) log.debug("*** closing connection 2");
+ connection2.close();
+
+ if (log.isDebugEnabled()) log.debug("*** committing");
+ tm.commit();
+ if (log.isDebugEnabled()) log.debug("*** TX is done");
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(17, orderedEvents.size());
+ int i=0;
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_PREPARING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ XAResourcePrepareEvent prepareEvent1 = (XAResourcePrepareEvent) orderedEvents.get(i++);
+ assertEquals(XAResource.XA_OK, prepareEvent1.getReturnCode());
+ XAResourcePrepareEvent prepareEvent2 = (XAResourcePrepareEvent) orderedEvents.get(i++);
+ assertEquals(XAResource.XA_OK, prepareEvent2.getReturnCode());
+ assertEquals(Status.STATUS_PREPARED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_COMMITTING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ XAResourceCommitEvent commitEvent1 = (XAResourceCommitEvent) orderedEvents.get(i++);
+ assertTrue(prepareEvent2.getSource() == commitEvent1.getSource());
+ assertEquals(false, commitEvent1.isOnePhase());
+ XAResourceCommitEvent commitEvent2 = (XAResourceCommitEvent) orderedEvents.get(i++);
+ assertTrue(prepareEvent1.getSource() == commitEvent2.getSource());
+ assertEquals(false, commitEvent2.isOnePhase());
+ assertEquals(Status.STATUS_COMMITTED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ }
+
+ public void testReversePhase2Order() throws Exception {
+ poolingDataSource1.setTwoPcOrderingPosition(1);
+ poolingDataSource2.setTwoPcOrderingPosition(1);
+
+ if (log.isDebugEnabled()) log.debug("*** getting TM");
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+ if (log.isDebugEnabled()) log.debug("*** before begin");
+ tm.setTransactionTimeout(10);
+ tm.begin();
+ if (log.isDebugEnabled()) log.debug("*** after begin");
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS1");
+ Connection connection1 = poolingDataSource1.getConnection();
+ if (log.isDebugEnabled()) log.debug("*** creating statement 1 on connection 1");
+ connection1.createStatement();
+ if (log.isDebugEnabled()) log.debug("*** creating statement 2 on connection 1");
+ connection1.createStatement();
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS2");
+ Connection connection2 = poolingDataSource2.getConnection();
+ if (log.isDebugEnabled()) log.debug("*** creating statement 1 on connection 2");
+ connection2.createStatement();
+ if (log.isDebugEnabled()) log.debug("*** creating statement 2 on connection 2");
+ connection2.createStatement();
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 1");
+ connection1.close();
+ if (log.isDebugEnabled()) log.debug("*** closing connection 2");
+ connection2.close();
+
+ if (log.isDebugEnabled()) log.debug("*** committing");
+ tm.commit();
+ if (log.isDebugEnabled()) log.debug("*** TX is done");
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(17, orderedEvents.size());
+ int i=0;
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_PREPARING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ XAResourcePrepareEvent prepareEvent1 = (XAResourcePrepareEvent) orderedEvents.get(i++);
+ assertEquals(XAResource.XA_OK, prepareEvent1.getReturnCode());
+ XAResourcePrepareEvent prepareEvent2 = (XAResourcePrepareEvent) orderedEvents.get(i++);
+ assertEquals(XAResource.XA_OK, prepareEvent2.getReturnCode());
+ assertEquals(Status.STATUS_PREPARED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_COMMITTING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ XAResourceCommitEvent commitEvent1 = (XAResourceCommitEvent) orderedEvents.get(i++);
+ assertTrue(prepareEvent2.getSource() == commitEvent1.getSource());
+ assertEquals(false, commitEvent1.isOnePhase());
+ XAResourceCommitEvent commitEvent2 = (XAResourceCommitEvent) orderedEvents.get(i++);
+ assertTrue(prepareEvent1.getSource() == commitEvent2.getSource());
+ assertEquals(false, commitEvent2.isOnePhase());
+ assertEquals(Status.STATUS_COMMITTED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ }
+
+ public void testLrc() throws Exception {
+ PoolingDataSource poolingDataSource2 = new PoolingDataSource();
+ poolingDataSource2.setClassName(LrcXADataSource.class.getName());
+ poolingDataSource2.setUniqueName(DATASOURCE2_NAME + "_lrc");
+ poolingDataSource2.setMinPoolSize(POOL_SIZE);
+ poolingDataSource2.setMaxPoolSize(POOL_SIZE);
+ poolingDataSource2.setAllowLocalTransactions(true);
+ poolingDataSource2.getDriverProperties().setProperty("driverClassName", MockDriver.class.getName());
+ poolingDataSource2.getDriverProperties().setProperty("user", "user");
+ poolingDataSource2.getDriverProperties().setProperty("password", "password");
+ poolingDataSource2.init();
+
+
+ if (log.isDebugEnabled()) log.debug("*** getting TM");
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+ if (log.isDebugEnabled()) log.debug("*** before begin");
+ tm.setTransactionTimeout(10);
+ tm.begin();
+ if (log.isDebugEnabled()) log.debug("*** after begin");
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS2");
+ Connection connection2 = poolingDataSource2.getConnection();
+ if (log.isDebugEnabled()) log.debug("*** creating statement 1 on connection 2");
+ connection2.createStatement();
+ if (log.isDebugEnabled()) log.debug("*** creating statement 2 on connection 2");
+ connection2.createStatement();
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS1");
+ Connection connection1 = poolingDataSource1.getConnection();
+ if (log.isDebugEnabled()) log.debug("*** creating statement 1 on connection 1");
+ connection1.createStatement();
+ if (log.isDebugEnabled()) log.debug("*** creating statement 2 on connection 1");
+ connection1.createStatement();
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 2");
+ connection2.close();
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 1");
+ connection1.close();
+
+ if (log.isDebugEnabled()) log.debug("*** committing");
+ tm.commit();
+ if (log.isDebugEnabled()) log.debug("*** TX is done");
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(12, orderedEvents.size());
+ int i=0;
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_PREPARING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResource.XA_OK, ((XAResourcePrepareEvent) orderedEvents.get(i++)).getReturnCode());
+ assertEquals(LocalCommitEvent.class, orderedEvents.get(i++).getClass());
+ assertEquals(Status.STATUS_PREPARED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_COMMITTING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(false, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(Status.STATUS_COMMITTED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ }
+
+ public void testStatementTimeout() throws Exception {
+ if (log.isDebugEnabled()) log.debug("*** getting TM");
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+ if (log.isDebugEnabled()) log.debug("*** before begin");
+ tm.setTransactionTimeout(1);
+ tm.begin();
+ if (log.isDebugEnabled()) log.debug("*** after begin");
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS1");
+ Connection connection1 = poolingDataSource1.getConnection();
+ if (log.isDebugEnabled()) log.debug("*** creating statement 1 on connection 1");
+ connection1.createStatement();
+
+ Thread.sleep(1500);
+
+ try {
+ if (log.isDebugEnabled()) log.debug("*** creating statement 2 on connection 1");
+ connection1.createStatement();
+ fail("expected transaction to time out");
+ } catch (SQLException ex) {
+ assertEquals("transaction timed out", ex.getCause().getMessage());
+ }
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 1");
+ connection1.close();
+
+ if (log.isDebugEnabled()) log.debug("*** rolling back");
+ tm.rollback();
+ if (log.isDebugEnabled()) log.debug("*** TX is done");
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(9, orderedEvents.size());
+ int i=0;
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_MARKED_ROLLBACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_ROLLING_BACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResourceRollbackEvent.class, orderedEvents.get(i++).getClass());
+ assertEquals(Status.STATUS_ROLLEDBACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ }
+
+ public void testCommitTimeout() throws Exception {
+ if (log.isDebugEnabled()) log.debug("*** getting TM");
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+ if (log.isDebugEnabled()) log.debug("*** before begin");
+ tm.setTransactionTimeout(1);
+ tm.begin();
+ if (log.isDebugEnabled()) log.debug("*** after begin");
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS1");
+ Connection connection1 = poolingDataSource1.getConnection();
+ if (log.isDebugEnabled()) log.debug("*** creating statement 1 on connection 1");
+ connection1.createStatement();
+
+ Thread.sleep(1500);
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 1");
+ connection1.close();
+
+ if (log.isDebugEnabled()) log.debug("*** committing");
+ try {
+ tm.commit();
+ fail("expected transaction to time out");
+ } catch (RollbackException ex) {
+ assertEquals("transaction timed out and has been rolled back", ex.getMessage());
+ }
+ if (log.isDebugEnabled()) log.debug("*** TX is done");
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(9, orderedEvents.size());
+ int i=0;
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_MARKED_ROLLBACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_ROLLING_BACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResourceRollbackEvent.class, orderedEvents.get(i++).getClass());
+ assertEquals(Status.STATUS_ROLLEDBACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ }
+
+ public void testGlobalAfterLocal() throws Exception {
+ if (log.isDebugEnabled()) log.debug("*** getting TM");
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS1 in local ctx");
+ Connection connection1 = poolingDataSource1.getConnection();
+ connection1.createStatement();
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS2 in local ctx");
+ Connection connection2 = poolingDataSource2.getConnection();
+ connection2.createStatement();
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 1");
+ connection1.close();
+ if (log.isDebugEnabled()) log.debug("*** closing connection 2");
+ connection2.close();
+
+ if (log.isDebugEnabled()) log.debug("*** before begin");
+ tm.begin();
+ if (log.isDebugEnabled()) log.debug("*** after begin");
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS1 in global ctx");
+ connection1 = poolingDataSource1.getConnection();
+ connection1.createStatement();
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS2 in global ctx");
+ connection2 = poolingDataSource2.getConnection();
+ connection2.createStatement();
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 1");
+ connection1.close();
+ if (log.isDebugEnabled()) log.debug("*** closing connection 2");
+ connection2.close();
+
+ if (log.isDebugEnabled()) log.debug("*** committing");
+ tm.commit();
+ if (log.isDebugEnabled()) log.debug("*** TX is done");
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(21, orderedEvents.size());
+ int i=0;
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_PREPARING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResource.XA_OK, ((XAResourcePrepareEvent) orderedEvents.get(i++)).getReturnCode());
+ assertEquals(XAResource.XA_OK, ((XAResourcePrepareEvent) orderedEvents.get(i++)).getReturnCode());
+ assertEquals(Status.STATUS_PREPARED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_COMMITTING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(false, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(false, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(Status.STATUS_COMMITTED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ }
+
+
+ public void testDeferredReleaseAfterMarkedRollback() throws Exception {
+ if (log.isDebugEnabled()) log.debug("*** getting TM");
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+ if (log.isDebugEnabled()) log.debug("*** before begin");
+ tm.begin();
+ if (log.isDebugEnabled()) log.debug("*** after begin");
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS1");
+ Connection connection1 = poolingDataSource1.getConnection();
+ connection1.createStatement();
+
+ if (log.isDebugEnabled()) log.debug("*** marking TX for rollback only");
+ tm.setRollbackOnly();
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 1");
+ connection1.close();
+
+ if (log.isDebugEnabled()) log.debug("*** rolling back");
+ tm.rollback();
+ if (log.isDebugEnabled()) log.debug("*** TX is done");
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(9, orderedEvents.size());
+ int i=0;
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_MARKED_ROLLBACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_ROLLING_BACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResourceRollbackEvent.class, orderedEvents.get(i++).getClass());
+ assertEquals(Status.STATUS_ROLLEDBACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ }
+
+
+ public void testRollingBackSynchronization() throws Exception {
+ if (log.isDebugEnabled()) log.debug("*** getting TM");
+ final BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+ if (log.isDebugEnabled()) log.debug("*** before begin");
+ tm.begin();
+ if (log.isDebugEnabled()) log.debug("*** after begin");
+
+ tm.getTransaction().registerSynchronization(new Synchronization() {
+ public void beforeCompletion() {
+ try {
+ if (log.isDebugEnabled()) log.debug("**** before setRollbackOnly");
+ tm.setRollbackOnly();
+ if (log.isDebugEnabled()) log.debug("**** after setRollbackOnly");
+ } catch (SystemException ex) {
+ throw new RuntimeException("could not setRollbackOnly", ex);
+ }
+ }
+ public void afterCompletion(int status) {
+ }
+ });
+ if (log.isDebugEnabled()) log.debug("*** after registerSynchronization");
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS1");
+ Connection connection1 = poolingDataSource1.getConnection();
+ connection1.createStatement();
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS2");
+ Connection connection2 = poolingDataSource2.getConnection();
+ connection2.createStatement();
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 1");
+ connection1.close();
+ if (log.isDebugEnabled()) log.debug("*** closing connection 2");
+ connection2.close();
+
+ if (log.isDebugEnabled()) log.debug("*** committing");
+ try {
+ tm.commit();
+ fail("transaction should not have been able to commit as it has been marked as rollback only");
+ } catch (RollbackException ex) {
+ assertEquals("transaction was marked as rollback only and has been rolled back", ex.getMessage());
+ }
+ if (log.isDebugEnabled()) log.debug("*** TX is done");
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(14, orderedEvents.size());
+ int i=0;
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_MARKED_ROLLBACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_ROLLING_BACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResourceRollbackEvent.class, orderedEvents.get(i++).getClass());
+ assertEquals(XAResourceRollbackEvent.class, orderedEvents.get(i++).getClass());
+ assertEquals(Status.STATUS_ROLLEDBACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ }
+
+
+ public void testSuspendResume() throws Exception {
+ if (log.isDebugEnabled()) log.debug("*** getting TM");
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+ if (log.isDebugEnabled()) log.debug("*** before begin");
+ tm.begin();
+ if (log.isDebugEnabled()) log.debug("*** after begin");
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS1");
+ Connection connection1 = poolingDataSource1.getConnection();
+ connection1.createStatement();
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS2");
+ Connection connection2 = poolingDataSource2.getConnection();
+ connection2.createStatement();
+
+ if (log.isDebugEnabled()) log.debug("*** suspending transaction");
+ Transaction tx = tm.suspend();
+ if (log.isDebugEnabled()) log.debug("*** resuming transaction");
+ tm.resume(tx);
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 1");
+ connection1.close();
+ if (log.isDebugEnabled()) log.debug("*** closing connection 2");
+ connection2.close();
+
+ if (log.isDebugEnabled()) log.debug("*** committing");
+ tm.commit();
+ if (log.isDebugEnabled()) log.debug("*** TX is done");
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(23, orderedEvents.size());
+ int i=0;
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(true, ((XAResourceIsSameRmEvent) orderedEvents.get(i++)).isSameRm());
+ assertEquals(XAResource.TMJOIN, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(true, ((XAResourceIsSameRmEvent) orderedEvents.get(i++)).isSameRm());
+ assertEquals(XAResource.TMJOIN, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_PREPARING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResource.XA_OK, ((XAResourcePrepareEvent) orderedEvents.get(i++)).getReturnCode());
+ assertEquals(XAResource.XA_OK, ((XAResourcePrepareEvent) orderedEvents.get(i++)).getReturnCode());
+ assertEquals(Status.STATUS_PREPARED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_COMMITTING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(false, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(false, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(Status.STATUS_COMMITTED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ }
+
+ public void testLooseWorkingCaseOutsideOutside() throws Exception {
+ if (log.isDebugEnabled()) log.debug("*** getting TM");
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS1");
+ Connection connection1 = poolingDataSource1.getConnection();
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS2");
+ Connection connection2 = poolingDataSource2.getConnection();
+
+ if (log.isDebugEnabled()) log.debug("*** before begin");
+ tm.begin();
+ if (log.isDebugEnabled()) log.debug("*** after begin");
+ connection1.createStatement();
+ connection2.createStatement();
+
+ if (log.isDebugEnabled()) log.debug("*** committing");
+ tm.commit();
+ if (log.isDebugEnabled()) log.debug("*** TX is done");
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 1");
+ connection1.close();
+ if (log.isDebugEnabled()) log.debug("*** closing connection 2");
+ connection2.close();
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(17, orderedEvents.size());
+ int i=0;
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_PREPARING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResource.XA_OK, ((XAResourcePrepareEvent) orderedEvents.get(i++)).getReturnCode());
+ assertEquals(XAResource.XA_OK, ((XAResourcePrepareEvent) orderedEvents.get(i++)).getReturnCode());
+ assertEquals(Status.STATUS_PREPARED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_COMMITTING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(false, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(false, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(Status.STATUS_COMMITTED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ }
+
+ public void testLooseWorkingCaseOutsideInside() throws Exception {
+ if (log.isDebugEnabled()) log.debug("*** getting TM");
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS1");
+ Connection connection1 = poolingDataSource1.getConnection();
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS2");
+ Connection connection2 = poolingDataSource2.getConnection();
+
+ if (log.isDebugEnabled()) log.debug("*** before begin");
+ tm.begin();
+ if (log.isDebugEnabled()) log.debug("*** after begin");
+ connection1.createStatement();
+ connection2.createStatement();
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 1");
+ connection1.close();
+ if (log.isDebugEnabled()) log.debug("*** closing connection 2");
+ connection2.close();
+
+ if (log.isDebugEnabled()) log.debug("*** committing");
+ tm.commit();
+ if (log.isDebugEnabled()) log.debug("*** TX is done");
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(17, orderedEvents.size());
+ int i=0;
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_PREPARING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResource.XA_OK, ((XAResourcePrepareEvent) orderedEvents.get(i++)).getReturnCode());
+ assertEquals(XAResource.XA_OK, ((XAResourcePrepareEvent) orderedEvents.get(i++)).getReturnCode());
+ assertEquals(Status.STATUS_PREPARED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_COMMITTING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(false, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(false, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(Status.STATUS_COMMITTED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ }
+
+ public void testLooseWorkingCaseInsideOutside() throws Exception {
+ if (log.isDebugEnabled()) log.debug("*** getting TM");
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+
+ if (log.isDebugEnabled()) log.debug("*** before begin");
+ tm.begin();
+ if (log.isDebugEnabled()) log.debug("*** after begin");
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS1");
+ Connection connection1 = poolingDataSource1.getConnection();
+ connection1.createStatement();
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS2");
+ Connection connection2 = poolingDataSource2.getConnection();
+ connection2.createStatement();
+
+ if (log.isDebugEnabled()) log.debug("*** committing");
+ tm.commit();
+ if (log.isDebugEnabled()) log.debug("*** TX is done");
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 1");
+ connection1.close();
+ if (log.isDebugEnabled()) log.debug("*** closing connection 2");
+ connection2.close();
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(17, orderedEvents.size());
+ int i=0;
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_PREPARING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResource.XA_OK, ((XAResourcePrepareEvent) orderedEvents.get(i++)).getReturnCode());
+ assertEquals(XAResource.XA_OK, ((XAResourcePrepareEvent) orderedEvents.get(i++)).getReturnCode());
+ assertEquals(Status.STATUS_PREPARED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_COMMITTING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(false, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(false, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(Status.STATUS_COMMITTED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ }
+
+ public void testHeuristicCommitWorkingCase() throws Exception {
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+ tm.begin();
+
+ Connection connection1 = poolingDataSource1.getConnection();
+ JdbcConnectionHandle handle = (JdbcConnectionHandle) Proxy.getInvocationHandler(connection1);
+ JdbcPooledConnection pc1 = handle.getPooledConnection();
+ XAConnection mockXAConnection1 = (XAConnection) getWrappedXAConnectionOf(pc1);
+ MockXAResource mockXAResource = (MockXAResource) mockXAConnection1.getXAResource();
+ mockXAResource.setCommitException(new XAException(XAException.XA_HEURCOM));
+ connection1.createStatement();
+
+ Connection connection2 = poolingDataSource2.getConnection();
+ connection2.createStatement();
+
+ connection1.close();
+ connection2.close();
+
+ tm.commit();
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(18, orderedEvents.size());
+ int i=0;
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_PREPARING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResource.XA_OK, ((XAResourcePrepareEvent) orderedEvents.get(i++)).getReturnCode());
+ assertEquals(XAResource.XA_OK, ((XAResourcePrepareEvent) orderedEvents.get(i++)).getReturnCode());
+ assertEquals(Status.STATUS_PREPARED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_COMMITTING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+
+ XAResourceCommitEvent event = ((XAResourceCommitEvent) orderedEvents.get(i++));
+ assertEquals(false, event.isOnePhase());
+ if (event.getException() != null) {
+ assertNotNull(orderedEvents.get(i++));
+
+ assertEquals(false, ((XAResourceCommitEvent) orderedEvents.get(i)).isOnePhase());
+ assertNull(((XAResourceCommitEvent) orderedEvents.get(i++)).getException());
+ }
+ else {
+ assertEquals(false, ((XAResourceCommitEvent) orderedEvents.get(i)).isOnePhase());
+ assertNotNull(((XAResourceCommitEvent) orderedEvents.get(i++)).getException());
+
+ assertNotNull(orderedEvents.get(i++));
+ }
+
+ assertEquals(Status.STATUS_COMMITTED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ }
+
+ public void testHeuristicRollbackWorkingCase() throws Exception {
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+ tm.begin();
+
+ Connection connection1 = poolingDataSource1.getConnection();
+ JdbcConnectionHandle handle = (JdbcConnectionHandle) Proxy.getInvocationHandler(connection1);
+ JdbcPooledConnection pc1 = handle.getPooledConnection();
+ XAConnection mockXAConnection1 = (XAConnection) getWrappedXAConnectionOf(pc1);
+ MockXAResource mockXAResource = (MockXAResource) mockXAConnection1.getXAResource();
+ mockXAResource.setRollbackException(new XAException(XAException.XA_HEURRB));
+ connection1.createStatement();
+
+ Connection connection2 = poolingDataSource2.getConnection();
+ connection2.createStatement();
+
+ connection1.close();
+ connection2.close();
+
+ tm.setTransactionTimeout(3);
+ tm.rollback();
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(14, orderedEvents.size());
+ int i=0;
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_ROLLING_BACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+
+ XAResourceRollbackEvent event = ((XAResourceRollbackEvent) orderedEvents.get(i++));
+ assertNotNull(event);
+ if (event.getException() != null) {
+ assertNotNull(orderedEvents.get(i++));
+ assertNotNull(orderedEvents.get(i++));
+ }
+ else {
+ assertNotNull(orderedEvents.get(i));
+ assertNotNull(((XAResourceRollbackEvent) orderedEvents.get(i++)).getException());
+ assertNotNull(orderedEvents.get(i++));
+ }
+ assertEquals(Status.STATUS_ROLLEDBACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ }
+
+
+ public void testNonXaPool() throws Exception {
+ for (int i=0; i<LOOPS ;i++) {
+ TransactionManagerServices.getTransactionManager().begin();
+ assertEquals(1, TransactionManagerServices.getTransactionManager().getInFlightTransactions().size());
+
+ assertEquals(0, ((BitronixTransaction)TransactionManagerServices.getTransactionManager().getTransaction()).getResourceManager().size());
+ Connection c = poolingDataSource1.getConnection();
+ c.createStatement();
+ c.close();
+ assertEquals(1, ((BitronixTransaction)TransactionManagerServices.getTransactionManager().getTransaction()).getResourceManager().size());
+
+ // rollback is necessary if deferConnectionRelease=true and to avoid nested TX
+ TransactionManagerServices.getTransactionManager().rollback();
+ assertEquals(0, TransactionManagerServices.getTransactionManager().getInFlightTransactions().size());
+ }
+
+ log.info(EventRecorder.dumpToString());
+
+ List events = EventRecorder.getOrderedEvents();
+
+ /* LOOPS * 9 events:
+ JournalLogEvent ACTIVE
+ ConnectionDequeuedEvent
+ XAResourceStartEvent
+ ConnectionCloseEvent
+ XAResourceEndEvent
+ JournalLogEvent ROLLINGBACK
+ XAResourceRollbackEvent
+ JournalLogEvent ROLLEDBACK
+ ConnectionQueuedEvent
+ */
+ assertEquals(8 * LOOPS, events.size());
+ for (int i = 0; i < 8 * LOOPS; ) {
+ Event event;
+
+ event = (Event) events.get(i++);
+ assertEquals("at " + i, JournalLogEvent.class, event.getClass());
+
+ event = (Event) events.get(i++);
+ assertEquals("at " + i, ConnectionDequeuedEvent.class, event.getClass());
+
+ event = (Event) events.get(i++);
+ assertEquals("at " + i, XAResourceStartEvent.class, event.getClass());
+
+ event = (Event) events.get(i++);
+ assertEquals("at " + i, XAResourceEndEvent.class, event.getClass());
+
+ event = (Event) events.get(i++);
+ assertEquals("at " + i, JournalLogEvent.class, event.getClass());
+
+ event = (Event) events.get(i++);
+ assertEquals("at " + i, XAResourceRollbackEvent.class, event.getClass());
+
+ event = (Event) events.get(i++);
+ assertEquals("at " + i, JournalLogEvent.class, event.getClass());
+
+ event = (Event) events.get(i++);
+ assertEquals("at " + i, ConnectionQueuedEvent.class, event.getClass());
+ }
+
+ }
+
+
+ public void testDuplicateClose() throws Exception {
+ Field poolField = poolingDataSource1.getClass().getDeclaredField("pool");
+ poolField.setAccessible(true);
+ XAPool pool = (XAPool) poolField.get(poolingDataSource1);
+ assertEquals(POOL_SIZE, pool.inPoolSize());
+
+ if (log.isDebugEnabled()) log.debug(" *** getting connection");
+ Connection c = poolingDataSource1.getConnection();
+ assertEquals(POOL_SIZE -1, pool.inPoolSize());
+
+ if (log.isDebugEnabled()) log.debug(" *** closing once");
+ c.close();
+ assertEquals(POOL_SIZE, pool.inPoolSize());
+
+ if (log.isDebugEnabled()) log.debug(" *** closing twice");
+ c.close();
+ assertEquals(POOL_SIZE, pool.inPoolSize());
+
+ if (log.isDebugEnabled()) log.debug(" *** checking pool size");
+ Connection c1 = poolingDataSource1.getConnection();
+ Connection c2 = poolingDataSource1.getConnection();
+ Connection c3 = poolingDataSource1.getConnection();
+ Connection c4 = poolingDataSource1.getConnection();
+ Connection c5 = poolingDataSource1.getConnection();
+ assertEquals(POOL_SIZE -5, pool.inPoolSize());
+
+ c1.close();
+ c2.close();
+ c3.close();
+ c4.close();
+ c5.close();
+ assertEquals(POOL_SIZE, pool.inPoolSize());
+
+ if (log.isDebugEnabled()) log.debug(" *** done");
+ }
+
+ public void testPoolBoundsWithLooseEnlistment() throws Exception {
+ ArrayList list = new ArrayList();
+
+ for (int i=0; i<LOOPS ;i++) {
+ Thread t = new LooseTransactionThread(i, poolingDataSource1);
+ list.add(t);
+ t.start();
+ }
+
+ for (int i = 0; i < list.size(); i++) {
+ LooseTransactionThread thread = (LooseTransactionThread) list.get(i);
+ thread.join(5000);
+ if (!thread.isSuccesful())
+ log.info("thread " + thread.getNumber() + " failed");
+ }
+
+ assertEquals(LOOPS, LooseTransactionThread.successes);
+ assertEquals(0, LooseTransactionThread.failures);
+
+ LooseTransactionThread thread = new LooseTransactionThread(-1, poolingDataSource1);
+ thread.run();
+ assertTrue(thread.isSuccesful());
+ }
+
+ static class LooseTransactionThread extends Thread {
+
+ static int successes = 0;
+ static int failures = 0;
+
+ private int number;
+ private PoolingDataSource poolingDataSource;
+ private boolean succesful = false;
+
+ public LooseTransactionThread(int number, PoolingDataSource poolingDataSource) {
+ this.number = number;
+ this.poolingDataSource = poolingDataSource;
+ }
+
+ public void run() {
+ try {
+ UserTransaction ut = TransactionManagerServices.getTransactionManager();
+ if (log.isDebugEnabled()) log.debug("*** getting connection - " + number);
+ Connection c1 = poolingDataSource.getConnection();
+
+ if (log.isDebugEnabled()) log.debug("*** beginning the transaction - " + number);
+ ut.begin();
+
+ c1.prepareStatement("");
+
+ if (log.isDebugEnabled()) log.debug("*** committing the transaction - " + number);
+ ut.commit();
+
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection - " + number);
+ c1.close();
+
+ if (log.isDebugEnabled()) log.debug("*** all done - " + number);
+
+ synchronized (LooseTransactionThread.class) {
+ successes++;
+ }
+ succesful = true;
+
+ } catch (Exception ex) {
+ log.warn("*** catched exception, waiting 500ms - " + number, ex);
+ try {
+ Thread.sleep(500);
+ } catch (InterruptedException e) {
+ // ignore
+ }
+ if (log.isDebugEnabled()) log.debug("*** catched exception, waited 500ms - " + number, ex);
+ synchronized (LooseTransactionThread.class) {
+ failures++;
+ }
+ }
+ } // run
+
+ public int getNumber() {
+ return number;
+ }
+
+ public boolean isSuccesful() {
+ return succesful;
+ }
+
+ }
+
+ public void testNonEnlistingMethodInTxContext() throws Exception {
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+
+ tm.begin();
+
+ Connection c = poolingDataSource1.getConnection();
+ assertTrue(c.getAutoCommit());
+ c.close();
+
+ tm.commit();
+
+ tm.shutdown();
+ }
+
+ public void testAutoCommitFalseWhenEnlisted() throws Exception {
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+
+ tm.begin();
+
+ Connection c = poolingDataSource1.getConnection();
+ c.prepareStatement("");
+ assertFalse(c.getAutoCommit());
+ c.close();
+
+ tm.commit();
+
+ tm.shutdown();
+ }
+
+ public void testAutoCommitTrueWhenEnlistedButSuspended() throws Exception {
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+
+ tm.begin();
+
+ Connection c = poolingDataSource1.getConnection();
+ c.prepareStatement("");
+
+ Transaction tx = tm.suspend();
+ assertNull(tm.getTransaction());
+
+ assertTrue(c.getAutoCommit());
+
+ tm.resume(tx);
+ c.close();
+
+ tm.commit();
+
+ tm.shutdown();
+ }
+
+ public void testSerialization() throws Exception {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ ObjectOutputStream oos = new ObjectOutputStream(baos);
+ oos.writeObject(poolingDataSource1);
+ oos.close();
+
+ ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
+ ObjectInputStream ois = new ObjectInputStream(bais);
+ poolingDataSource1 = (PoolingDataSource) ois.readObject();
+ ois.close();
+ }
+
+}
diff --git a/test/bitronix/tm/mock/NewJdbcStrangeUsageMockTest.java b/test/bitronix/tm/mock/NewJdbcStrangeUsageMockTest.java
new file mode 100644
index 0000000..1760fc8
--- /dev/null
+++ b/test/bitronix/tm/mock/NewJdbcStrangeUsageMockTest.java
@@ -0,0 +1,329 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock;
+
+import bitronix.tm.BitronixTransactionManager;
+import bitronix.tm.TransactionManagerServices;
+import bitronix.tm.mock.events.*;
+import bitronix.tm.resource.common.XAPool;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.transaction.Status;
+import javax.transaction.Transaction;
+import javax.transaction.xa.XAResource;
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.util.List;
+
+/**
+ *
+ * @author lorban
+ */
+public class NewJdbcStrangeUsageMockTest extends AbstractMockJdbcTest {
+
+ private final static Logger log = LoggerFactory.getLogger(NewJdbcStrangeUsageMockTest.class);
+
+
+ public void testDeferredReuse() throws Exception {
+ if (log.isDebugEnabled()) log.debug("*** getting TM");
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+
+ XAPool pool1 = getPool(poolingDataSource1);
+
+ if (log.isDebugEnabled()) log.debug("*** before begin");
+ tm.begin();
+ if (log.isDebugEnabled()) log.debug("*** after begin");
+
+ assertEquals(POOL_SIZE, pool1.inPoolSize());
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS1");
+ Connection connection1 = poolingDataSource1.getConnection();
+ connection1.createStatement();
+
+ assertEquals(POOL_SIZE -1, pool1.inPoolSize());
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 1");
+ connection1.close();
+
+ assertEquals(POOL_SIZE -1, pool1.inPoolSize());
+
+ if (log.isDebugEnabled()) log.debug("*** getting again connection from DS1");
+ connection1 = poolingDataSource1.getConnection();
+ connection1.createStatement();
+
+ assertEquals(POOL_SIZE -1, pool1.inPoolSize());
+
+ if (log.isDebugEnabled()) log.debug("*** closing again connection 1");
+ connection1.close();
+
+ assertEquals(POOL_SIZE -1, pool1.inPoolSize());
+
+ if (log.isDebugEnabled()) log.debug("*** committing");
+ tm.commit();
+ if (log.isDebugEnabled()) log.debug("*** TX is done");
+
+ assertEquals(POOL_SIZE, pool1.inPoolSize());
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(11, orderedEvents.size());
+ int i=0;
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_PREPARING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_PREPARED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_COMMITTING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(true, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(Status.STATUS_COMMITTED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ }
+
+ public void testDeferredCannotReuse() throws Exception {
+ if (log.isDebugEnabled()) log.debug("*** getting TM");
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+
+ // Use DataSource2 because it does not have shared accessible connections
+ XAPool pool2 = getPool(poolingDataSource2);
+
+ if (log.isDebugEnabled()) log.debug("*** before begin");
+ tm.begin();
+ if (log.isDebugEnabled()) log.debug("*** after begin");
+
+ assertEquals(POOL_SIZE, pool2.inPoolSize());
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection 1 from DS1");
+ Connection connection1 = poolingDataSource2.getConnection();
+ connection1.createStatement();
+
+ assertEquals(POOL_SIZE -1, pool2.inPoolSize());
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection 2 from DS1");
+ Connection connection2 = poolingDataSource2.getConnection();
+ connection2.createStatement();
+
+ assertEquals(POOL_SIZE -2, pool2.inPoolSize());
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 1");
+ connection1.close();
+
+ assertEquals(POOL_SIZE -2, pool2.inPoolSize());
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 2");
+ connection2.close();
+
+ assertEquals(POOL_SIZE -2, pool2.inPoolSize());
+
+ if (log.isDebugEnabled()) log.debug("*** committing");
+ tm.commit();
+ if (log.isDebugEnabled()) log.debug("*** TX is done");
+
+ assertEquals(POOL_SIZE, pool2.inPoolSize());
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(17, orderedEvents.size());
+ int i=0;
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_PREPARING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResource.XA_OK, ((XAResourcePrepareEvent) orderedEvents.get(i++)).getReturnCode());
+ assertEquals(XAResource.XA_OK, ((XAResourcePrepareEvent) orderedEvents.get(i++)).getReturnCode());
+ assertEquals(Status.STATUS_PREPARED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_COMMITTING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(false, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(false, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(Status.STATUS_COMMITTED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ }
+
+ public void testConnectionCloseInDifferentContext() throws Exception {
+ if (log.isDebugEnabled()) log.debug("*** getting TM");
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+ if (log.isDebugEnabled()) log.debug("*** beginning");
+ tm.begin();
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS1");
+ Connection connection1 = poolingDataSource1.getConnection();
+ connection1.createStatement();
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS2");
+ Connection connection2 = poolingDataSource2.getConnection();
+ connection2.createStatement();
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 2");
+ connection2.close();
+
+
+ if (log.isDebugEnabled()) log.debug("*** committing");
+ tm.commit();
+ if (log.isDebugEnabled()) log.debug("*** TX is done");
+
+ if (log.isDebugEnabled()) log.debug("*** beginning");
+ tm.begin();
+
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 1");
+ connection1.close();
+
+ if (log.isDebugEnabled()) log.debug("*** committing");
+ tm.commit();
+ if (log.isDebugEnabled()) log.debug("*** TX is done");
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(22, orderedEvents.size());
+ int i=0;
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+
+ assertEquals(Status.STATUS_PREPARING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResource.XA_OK, ((XAResourcePrepareEvent) orderedEvents.get(i++)).getReturnCode());
+ assertEquals(XAResource.XA_OK, ((XAResourcePrepareEvent) orderedEvents.get(i++)).getReturnCode());
+ assertEquals(Status.STATUS_PREPARED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_COMMITTING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(false, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(false, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(Status.STATUS_COMMITTED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+
+ assertEquals(Status.STATUS_PREPARING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_PREPARED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_COMMITTING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_COMMITTED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ }
+
+
+ public void testClosingSuspendedConnectionsInDifferentContext() throws Exception {
+ if (log.isDebugEnabled()) log.debug("*** getting TM");
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+
+ if (log.isDebugEnabled()) log.debug("*** before begin");
+ tm.begin();
+
+ XAPool pool1 = getPool(poolingDataSource1);
+
+ assertEquals(POOL_SIZE, pool1.inPoolSize());
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS1");
+ Connection connection1 = poolingDataSource1.getConnection();
+ connection1.createStatement();
+
+ assertEquals(POOL_SIZE -1, pool1.inPoolSize());
+
+ if (log.isDebugEnabled()) log.debug("*** suspending");
+ Transaction t1 = tm.suspend();
+
+ assertEquals(POOL_SIZE -1, pool1.inPoolSize());
+
+ if (log.isDebugEnabled()) log.debug("*** starting 2nd tx");
+ tm.begin();
+
+ assertEquals(POOL_SIZE -1, pool1.inPoolSize());
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 1 too eagerly within another context");
+ try {
+ // TODO: the ConnectionHandler tries to 'veto' the connection close here like the old pool did.
+ // Instead, close the resource immediately or defer its release.
+ connection1.close();
+ fail("successfully closed a connection participating in a global transaction, this should never be allowed");
+ } catch (SQLException ex) {
+ assertEquals("cannot close a resource when its XAResource is taking part in an unfinished global transaction", ex.getCause().getMessage());
+ }
+ assertEquals(POOL_SIZE -1, pool1.inPoolSize());
+
+ if (log.isDebugEnabled()) log.debug("*** committing 2nd tx");
+ tm.commit();
+
+ assertEquals(POOL_SIZE -1, pool1.inPoolSize());
+
+ if (log.isDebugEnabled()) log.debug("*** resuming");
+ tm.resume(t1);
+
+ assertEquals(POOL_SIZE -1, pool1.inPoolSize());
+
+ if (log.isDebugEnabled()) log.debug("*** committing");
+ tm.commit();
+ if (log.isDebugEnabled()) log.debug("*** TX is done");
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 1");
+ connection1.close();
+
+ assertEquals(POOL_SIZE, pool1.inPoolSize());
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(18, orderedEvents.size());
+ int i=0;
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_PREPARING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_PREPARED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_COMMITTING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_COMMITTED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+
+ assertEquals(true, ((XAResourceIsSameRmEvent) orderedEvents.get(i++)).isSameRm());
+ assertEquals(XAResource.TMJOIN, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+
+ assertEquals(Status.STATUS_PREPARING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_PREPARED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_COMMITTING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(true, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(Status.STATUS_COMMITTED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ }
+
+}
diff --git a/test/bitronix/tm/mock/NewJdbcSuspendResumeMockTest.java b/test/bitronix/tm/mock/NewJdbcSuspendResumeMockTest.java
new file mode 100644
index 0000000..1c92482
--- /dev/null
+++ b/test/bitronix/tm/mock/NewJdbcSuspendResumeMockTest.java
@@ -0,0 +1,600 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock;
+
+import bitronix.tm.BitronixTransactionManager;
+import bitronix.tm.TransactionManagerServices;
+import bitronix.tm.mock.events.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.transaction.InvalidTransactionException;
+import javax.transaction.Status;
+import javax.transaction.Transaction;
+import javax.transaction.xa.XAResource;
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.util.List;
+
+/**
+ *
+ * @author lorban
+ */
+public class NewJdbcSuspendResumeMockTest extends AbstractMockJdbcTest {
+
+ private final static Logger log = LoggerFactory.getLogger(NewJdbcSuspendResumeMockTest.class);
+
+ public void testSimpleAssertions() throws Exception {
+ if (log.isDebugEnabled()) log.debug("*** getting TM");
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+
+ assertNull(tm.suspend());
+
+ try {
+ tm.resume(null);
+ fail("expected InvalidTransactionException");
+ } catch (InvalidTransactionException ex) {
+ assertEquals("resumed transaction cannot be null", ex.getMessage());
+ }
+
+ if (log.isDebugEnabled()) log.debug("*** before begin");
+ tm.begin();
+ if (log.isDebugEnabled()) log.debug("*** after begin");
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS1");
+ Connection connection1 = poolingDataSource1.getConnection();
+ connection1.createStatement();
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 1");
+ connection1.close();
+
+ if (log.isDebugEnabled()) log.debug("*** committing");
+ tm.commit();
+ if (log.isDebugEnabled()) log.debug("*** TX is done");
+ }
+
+ public void testSimpleWorkingCase() throws Exception {
+ if (log.isDebugEnabled()) log.debug("*** getting TM");
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+ if (log.isDebugEnabled()) log.debug("*** before begin");
+ tm.begin();
+ if (log.isDebugEnabled()) log.debug("*** after begin");
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS1");
+ Connection connection1 = poolingDataSource1.getConnection();
+ connection1.createStatement();
+
+ if (log.isDebugEnabled()) log.debug("*** suspending");
+ Transaction t1 = tm.suspend();
+
+ if (log.isDebugEnabled()) log.debug("*** resuming");
+ tm.resume(t1);
+
+ connection1.createStatement();
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 1");
+ connection1.close();
+
+ if (log.isDebugEnabled()) log.debug("*** committing");
+ tm.commit();
+ if (log.isDebugEnabled()) log.debug("*** TX is done");
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(13, orderedEvents.size());
+ int i=0;
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(true, ((XAResourceIsSameRmEvent) orderedEvents.get(i++)).isSameRm());
+ assertEquals(XAResource.TMJOIN, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_PREPARING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_PREPARED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_COMMITTING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(true, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(Status.STATUS_COMMITTED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ }
+
+ public void testNoTmJoin() throws Exception {
+ poolingDataSource1.setUseTmJoin(false);
+
+ if (log.isDebugEnabled()) log.debug("*** getting TM");
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+ if (log.isDebugEnabled()) log.debug("*** before begin");
+ tm.begin();
+ if (log.isDebugEnabled()) log.debug("*** after begin");
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS1");
+ Connection connection1 = poolingDataSource1.getConnection();
+ connection1.createStatement();
+
+ if (log.isDebugEnabled()) log.debug("*** suspending");
+ Transaction t1 = tm.suspend();
+
+ if (log.isDebugEnabled()) log.debug("*** resuming");
+ tm.resume(t1);
+
+ connection1.createStatement();
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 1");
+ connection1.close();
+
+ if (log.isDebugEnabled()) log.debug("*** committing");
+ tm.commit();
+ if (log.isDebugEnabled()) log.debug("*** TX is done");
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(15, orderedEvents.size());
+ int i=0;
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_PREPARING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResource.XA_OK, ((XAResourcePrepareEvent) orderedEvents.get(i++)).getReturnCode());
+ assertEquals(XAResource.XA_OK, ((XAResourcePrepareEvent) orderedEvents.get(i++)).getReturnCode());
+ assertEquals(Status.STATUS_PREPARED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_COMMITTING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(false, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(false, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(Status.STATUS_COMMITTED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ }
+
+ public void testReEnlistmentAfterSuspend() throws Exception {
+ if (log.isDebugEnabled()) log.debug("*** getting TM");
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+ if (log.isDebugEnabled()) log.debug("*** before begin");
+ tm.begin();
+ if (log.isDebugEnabled()) log.debug("*** after begin");
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS1");
+ Connection connection1 = poolingDataSource1.getConnection();
+ connection1.createStatement();
+
+ if (log.isDebugEnabled()) log.debug("*** suspending");
+ Transaction t1 = tm.suspend();
+
+ if (log.isDebugEnabled()) log.debug("*** before begin2");
+ tm.begin();
+ if (log.isDebugEnabled()) log.debug("*** after begin2");
+ if (log.isDebugEnabled()) log.debug("*** reusing connection 1");
+ connection1.createStatement();
+ if (log.isDebugEnabled()) log.debug("*** marking subTX as rollback only");
+ tm.setRollbackOnly();
+ if (log.isDebugEnabled()) log.debug("*** rolling back");
+ tm.rollback();
+ if (log.isDebugEnabled()) log.debug("*** rolling back");
+
+ if (log.isDebugEnabled()) log.debug("*** subTX is done");
+ tm.resume(t1);
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 1");
+ connection1.close();
+
+ if (log.isDebugEnabled()) log.debug("*** committing");
+ tm.commit();
+ if (log.isDebugEnabled()) log.debug("*** TX is done");
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(20, orderedEvents.size());
+ int i=0;
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_MARKED_ROLLBACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_ROLLING_BACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResourceRollbackEvent.class, orderedEvents.get(i++).getClass());
+ assertEquals(Status.STATUS_ROLLEDBACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+
+ assertEquals(true, ((XAResourceIsSameRmEvent) orderedEvents.get(i++)).isSameRm());
+ assertEquals(XAResource.TMJOIN, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+
+ assertEquals(Status.STATUS_PREPARING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_PREPARED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_COMMITTING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(true, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(Status.STATUS_COMMITTED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ }
+
+ public void testClosingSuspendedConnections() throws Exception {
+ if (log.isDebugEnabled()) log.debug("*** getting TM");
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+
+ if (log.isDebugEnabled()) log.debug("*** before begin");
+ tm.begin();
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS1");
+ Connection connection1 = poolingDataSource1.getConnection();
+ connection1.createStatement();
+
+ assertEquals(POOL_SIZE -1, getPool(poolingDataSource1).inPoolSize());
+
+ if (log.isDebugEnabled()) log.debug("*** suspending");
+ Transaction t1 = tm.suspend();
+
+ assertEquals(POOL_SIZE -1, getPool(poolingDataSource1).inPoolSize());
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 1 too eagerly");
+ try {
+ // TODO: the TM tries to 'veto' the connection close here like the old pool did.
+ // Instead, close the resource immediately or defer its release.
+ connection1.close();
+ fail("successfully closed a connection participating in a global transaction, this should never be allowed");
+ } catch (SQLException ex) {
+ assertEquals("cannot close a resource when its XAResource is taking part in an unfinished global transaction", ex.getCause().getMessage());
+ }
+ assertFalse(connection1.isClosed());
+
+ assertEquals(POOL_SIZE -1, getPool(poolingDataSource1).inPoolSize());
+
+ if (log.isDebugEnabled()) log.debug("*** resuming");
+ tm.resume(t1);
+
+ assertEquals(POOL_SIZE -1, getPool(poolingDataSource1).inPoolSize());
+
+ if (log.isDebugEnabled()) log.debug("*** committing");
+ tm.commit();
+ if (log.isDebugEnabled()) log.debug("*** TX is done");
+
+ assertEquals(POOL_SIZE -1, getPool(poolingDataSource1).inPoolSize());
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 1");
+ connection1.close();
+
+ assertEquals(POOL_SIZE, getPool(poolingDataSource1).inPoolSize());
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(13, orderedEvents.size());
+ int i=0;
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(true, ((XAResourceIsSameRmEvent) orderedEvents.get(i++)).isSameRm());
+ assertEquals(XAResource.TMJOIN, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_PREPARING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_PREPARED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_COMMITTING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(true, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(Status.STATUS_COMMITTED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ }
+
+ public void testInterleavedLocalGlobalTransactions() throws Exception {
+ if (log.isDebugEnabled()) log.debug("*** getting TM");
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+ if (log.isDebugEnabled()) log.debug("*** before begin");
+ tm.begin();
+ if (log.isDebugEnabled()) log.debug("*** after begin");
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS1");
+ Connection connection1 = poolingDataSource1.getConnection();
+ connection1.createStatement();
+
+ if (log.isDebugEnabled()) log.debug("*** suspending");
+ Transaction t1 = tm.suspend();
+
+ Connection connection2 = poolingDataSource1.getConnection();
+ assertNull(tm.getTransaction());
+ connection2.createStatement();
+ connection2.close();
+
+ if (log.isDebugEnabled()) log.debug("*** resuming");
+ tm.resume(t1);
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 1");
+ connection1.close();
+
+ if (log.isDebugEnabled()) log.debug("*** committing");
+ tm.commit();
+ if (log.isDebugEnabled()) log.debug("*** TX is done");
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(15, orderedEvents.size());
+ int i=0;
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(true, ((XAResourceIsSameRmEvent) orderedEvents.get(i++)).isSameRm());
+ assertEquals(XAResource.TMJOIN, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_PREPARING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_PREPARED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_COMMITTING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(true, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(Status.STATUS_COMMITTED, ((JournalLogEvent) orderedEvents.get(i)).getStatus());
+ assertEquals(1, ((JournalLogEvent) orderedEvents.get(i++)).getJndiNames().size());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ }
+
+ public void testInterleavedGlobalGlobalTransactionsWithDifferentConnections() throws Exception {
+ if (log.isDebugEnabled()) log.debug("*** getting TM");
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+ if (log.isDebugEnabled()) log.debug("*** before begin");
+ tm.begin();
+ if (log.isDebugEnabled()) log.debug("*** after begin");
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS1");
+ Connection connection1 = poolingDataSource1.getConnection();
+ connection1.createStatement();
+
+ if (log.isDebugEnabled()) log.debug(" *** suspending transaction");
+ Transaction t1 = tm.suspend();
+ assertNull(tm.getTransaction());
+
+ if (log.isDebugEnabled()) log.debug(" *** begin interleaved transaction");
+ tm.begin();
+ Connection connection2 = poolingDataSource1.getConnection();
+ connection2.createStatement();
+ connection2.close();
+ if (log.isDebugEnabled()) log.debug(" *** commit interleaved transaction");
+ tm.commit();
+
+ if (log.isDebugEnabled()) log.debug(" *** resuming transaction");
+ tm.resume(t1);
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 1");
+ connection1.close();
+
+ if (log.isDebugEnabled()) log.debug("*** committing");
+ tm.commit();
+ if (log.isDebugEnabled()) log.debug("*** TX is done");
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(23, orderedEvents.size());
+ int i=0;
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+
+ // interleaved transaction
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_PREPARING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_PREPARED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_COMMITTING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(true, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(Status.STATUS_COMMITTED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+
+ assertEquals(true, ((XAResourceIsSameRmEvent) orderedEvents.get(i++)).isSameRm());
+ assertEquals(XAResource.TMJOIN, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_PREPARING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_PREPARED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_COMMITTING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(true, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(Status.STATUS_COMMITTED, ((JournalLogEvent) orderedEvents.get(i)).getStatus());
+ assertEquals(1, ((JournalLogEvent) orderedEvents.get(i++)).getJndiNames().size());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ }
+
+ public void testInterleavedGlobalGlobalTransactionsWithDifferentConnectionsLateSuspend() throws Exception {
+ if (log.isDebugEnabled()) log.debug("*** getting TM");
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+ if (log.isDebugEnabled()) log.debug("*** before begin");
+ tm.begin();
+ if (log.isDebugEnabled()) log.debug("*** after begin");
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS1");
+ Connection connection1 = poolingDataSource1.getConnection();
+ connection1.createStatement();
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 1");
+ connection1.close();
+
+ if (log.isDebugEnabled()) log.debug(" *** suspending transaction");
+ Transaction t1 = tm.suspend();
+ assertNull(tm.getTransaction());
+
+ if (log.isDebugEnabled()) log.debug(" *** begin interleaved transaction");
+ tm.begin();
+ Connection connection2 = poolingDataSource1.getConnection();
+ assertEquals(POOL_SIZE -2, getPool(poolingDataSource1).inPoolSize());
+ connection2.createStatement();
+ connection2.close();
+ if (log.isDebugEnabled()) log.debug(" *** commit interleaved transaction");
+ tm.commit();
+ assertEquals(POOL_SIZE -1, getPool(poolingDataSource1).inPoolSize());
+
+ if (log.isDebugEnabled()) log.debug(" *** resuming transaction");
+ tm.resume(t1);
+
+ if (log.isDebugEnabled()) log.debug("*** committing");
+ tm.commit();
+ if (log.isDebugEnabled()) log.debug("*** TX is done");
+ assertEquals(POOL_SIZE, getPool(poolingDataSource1).inPoolSize());
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(23, orderedEvents.size());
+ int i=0;
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+
+ // interleaved transaction
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_PREPARING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_PREPARED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_COMMITTING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(true, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(Status.STATUS_COMMITTED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+
+ assertEquals(true, ((XAResourceIsSameRmEvent) orderedEvents.get(i++)).isSameRm());
+ assertEquals(XAResource.TMJOIN, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_PREPARING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_PREPARED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_COMMITTING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(true, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(Status.STATUS_COMMITTED, ((JournalLogEvent) orderedEvents.get(i)).getStatus());
+ assertEquals(1, ((JournalLogEvent) orderedEvents.get(i++)).getJndiNames().size());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ }
+
+ public void testJoinAfterSuspend() throws Exception {
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+ tm.begin();
+
+ if (log.isDebugEnabled()) log.debug("*** get C1");
+ Connection c1 = poolingDataSource1.getConnection();
+ c1.createStatement();
+ c1.close();
+
+ if (log.isDebugEnabled()) log.debug("*** get C2");
+ Connection c2 = poolingDataSource2.getConnection();
+ c2.createStatement();
+ c2.close();
+
+ Transaction tx = tm.suspend();
+ tm.resume(tx);
+
+ if (log.isDebugEnabled()) log.debug("*** get C3");
+ Connection c3 = poolingDataSource2.getConnection();
+ c3.createStatement();
+ c3.close();
+
+ if (log.isDebugEnabled()) log.debug("*** get C4");
+ Connection c4 = poolingDataSource1.getConnection();
+ c4.createStatement();
+ c4.close();
+
+ tm.commit();
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(25, orderedEvents.size());
+ int i=0;
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+
+ // suspend happens here
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ // resume happens here
+ assertEquals(true, ((XAResourceIsSameRmEvent) orderedEvents.get(i++)).isSameRm());
+ assertEquals(XAResource.TMJOIN, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+
+ XAResourceIsSameRmEvent evt = (XAResourceIsSameRmEvent) orderedEvents.get(i++);
+ XAResource src = (XAResource) evt.getSource();
+ XAResource comp = evt.getXAResource();
+ assertTrue(poolingDataSource2.findXAResourceHolder(src) != null);
+ assertTrue(poolingDataSource2.findXAResourceHolder(comp) != null);
+
+ assertEquals(XAResource.TMJOIN, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+
+ assertEquals(DATASOURCE2_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+
+ assertEquals(Status.STATUS_PREPARING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(XAResource.XA_OK, ((XAResourcePrepareEvent) orderedEvents.get(i++)).getReturnCode());
+ assertEquals(XAResource.XA_OK, ((XAResourcePrepareEvent) orderedEvents.get(i++)).getReturnCode());
+ assertEquals(Status.STATUS_PREPARED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(Status.STATUS_COMMITTING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(false, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(false, ((XAResourceCommitEvent) orderedEvents.get(i++)).isOnePhase());
+ assertEquals(Status.STATUS_COMMITTED, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ }
+
+ public void testReusePreparedStatementAfterSuspendResume() throws Exception {
+ if (log.isDebugEnabled()) log.debug("*** getting TM");
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+
+ if (log.isDebugEnabled()) log.debug("*** before begin");
+ tm.begin();
+ if (log.isDebugEnabled()) log.debug("*** after begin");
+
+ if (log.isDebugEnabled()) log.debug("*** getting connection from DS1");
+ Connection connection1 = poolingDataSource1.getConnection();
+
+ Transaction tx = tm.suspend();
+ tm.resume(tx);
+
+ connection1.prepareStatement("some sql");
+
+ if (log.isDebugEnabled()) log.debug("*** closing connection 1");
+ connection1.close();
+
+ if (log.isDebugEnabled()) log.debug("*** committing");
+ tm.commit();
+ if (log.isDebugEnabled()) log.debug("*** TX is done");
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+ }
+
+}
diff --git a/test/bitronix/tm/mock/NewJdbcWrongUsageMockTest.java b/test/bitronix/tm/mock/NewJdbcWrongUsageMockTest.java
new file mode 100644
index 0000000..942a4ee
--- /dev/null
+++ b/test/bitronix/tm/mock/NewJdbcWrongUsageMockTest.java
@@ -0,0 +1,309 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock;
+
+import java.lang.reflect.Proxy;
+import java.sql.*;
+import java.util.List;
+
+import javax.sql.XAConnection;
+import javax.transaction.*;
+import javax.transaction.xa.*;
+
+import bitronix.tm.*;
+import bitronix.tm.mock.events.*;
+import bitronix.tm.mock.resource.MockXAResource;
+import bitronix.tm.mock.resource.jdbc.*;
+import bitronix.tm.mock.resource.jms.MockConnectionFactory;
+import bitronix.tm.resource.jdbc.*;
+import bitronix.tm.resource.jdbc.lrc.LrcXADataSource;
+import bitronix.tm.resource.jms.PoolingConnectionFactory;
+import bitronix.tm.resource.jms.lrc.LrcXAConnectionFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ *
+ * @author lorban
+ */
+public class NewJdbcWrongUsageMockTest extends AbstractMockJdbcTest {
+
+ private final static Logger log = LoggerFactory.getLogger(NewJdbcWrongUsageMockTest.class);
+
+ public void testPrepareXAFailureCase() throws Exception {
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+ tm.begin();
+
+ Connection connection1 = poolingDataSource1.getConnection();
+ JdbcConnectionHandle handle = (JdbcConnectionHandle) Proxy.getInvocationHandler(connection1);
+ JdbcPooledConnection pc1 = handle.getPooledConnection();
+
+ XAConnection xaConnection1 = (XAConnection) getWrappedXAConnectionOf(pc1);
+ MockXAResource mockXAResource = (MockXAResource) xaConnection1.getXAResource();
+ XAException xaException = new XAException("resource failed");
+ xaException.errorCode = XAException.XAER_RMERR;
+ mockXAResource.setPrepareException(xaException);
+ connection1.createStatement();
+
+ Connection connection2 = poolingDataSource2.getConnection();
+ connection2.createStatement();
+
+ connection1.close();
+ connection2.close();
+
+ try {
+ tm.commit();
+ fail("TM should have thrown rollback exception");
+ } catch (RollbackException ex) {
+ assertTrue("Got: " + ex.getMessage(), ex.getMessage().matches("transaction failed to prepare: a Bitronix Transaction with GTRID (.*?) status=ROLLEDBACK, 2 resource\\(s\\) enlisted (.*?)"));
+ assertTrue("Got: " + ex.getCause().getMessage(), ex.getCause().getMessage().matches("transaction failed during prepare of a Bitronix Transaction with GTRID (.*?) status=PREPARING, 2 resource\\(s\\) enlisted (.*?) resource\\(s\\) \\[pds1\\] threw unexpected exception"));
+
+ assertEquals("collected 1 exception(s):" + System.getProperty("line.separator") +
+ " [pds1 - javax.transaction.xa.XAException(XAER_RMERR) - resource failed]", ex.getCause().getCause().getMessage());
+ }
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(16, orderedEvents.size());
+ int i=0;
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_PREPARING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ XAResourcePrepareEvent prepareEvent1 = (XAResourcePrepareEvent) orderedEvents.get(i++);
+ assertEquals("resource failed", prepareEvent1.getException().getMessage());
+ XAResourcePrepareEvent prepareEvent2 = (XAResourcePrepareEvent) orderedEvents.get(i++);
+ assertEquals(XAResource.XA_OK, prepareEvent2.getReturnCode());
+ assertEquals(Status.STATUS_ROLLING_BACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ XAResourceRollbackEvent rollbackEvent1 = (XAResourceRollbackEvent) orderedEvents.get(i++);
+ assertTrue(prepareEvent2.getSource() == rollbackEvent1.getSource());
+ XAResourceRollbackEvent rollbackEvent2 = (XAResourceRollbackEvent) orderedEvents.get(i++);
+ assertTrue(prepareEvent1.getSource() == rollbackEvent2.getSource());
+ assertEquals(Status.STATUS_ROLLEDBACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ }
+
+ public void testPrepareRuntimeFailureCase() throws Exception {
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+ tm.begin();
+
+ Connection connection1 = poolingDataSource1.getConnection();
+ JdbcConnectionHandle handle = (JdbcConnectionHandle) Proxy.getInvocationHandler(connection1);
+ JdbcPooledConnection pc1 = handle.getPooledConnection();
+ XAConnection xaConnection1 = (XAConnection) getWrappedXAConnectionOf(pc1);
+ MockXAResource mockXAResource = (MockXAResource) xaConnection1.getXAResource();
+ mockXAResource.setPrepareException(new RuntimeException("driver error"));
+ connection1.createStatement();
+
+ Connection connection2 = poolingDataSource2.getConnection();
+ connection2.createStatement();
+
+ connection1.close();
+ connection2.close();
+
+ try {
+ tm.commit();
+ fail("TM should have thrown exception");
+ } catch (RollbackException ex) {
+ assertTrue("Got: " + ex.getMessage(), ex.getMessage().matches("transaction failed to prepare: a Bitronix Transaction with GTRID (.*?) status=ROLLEDBACK, 2 resource\\(s\\) enlisted (.*?)"));
+ assertTrue("Got: " + ex.getCause().getMessage(), ex.getCause().getMessage().matches("transaction failed during prepare of a Bitronix Transaction with GTRID (.*?) status=PREPARING, 2 resource\\(s\\) enlisted (.*?) resource\\(s\\) \\[pds1\\] threw unexpected exception"));
+
+ assertEquals("collected 1 exception(s):" + System.getProperty("line.separator") +
+ " [pds1 - java.lang.RuntimeException - driver error]", ex.getCause().getCause().getMessage());
+ }
+
+ // check flow
+ List orderedEvents = EventRecorder.getOrderedEvents();
+ log.info(EventRecorder.dumpToString());
+
+ assertEquals(16, orderedEvents.size());
+ int i=0;
+ assertEquals(Status.STATUS_ACTIVE, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionDequeuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(XAResource.TMNOFLAGS, ((XAResourceStartEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(XAResource.TMSUCCESS, ((XAResourceEndEvent) orderedEvents.get(i++)).getFlag());
+ assertEquals(Status.STATUS_PREPARING, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ XAResourcePrepareEvent prepareEvent1 = (XAResourcePrepareEvent) orderedEvents.get(i++);
+ assertEquals("driver error", prepareEvent1.getException().getMessage());
+ XAResourcePrepareEvent prepareEvent2 = (XAResourcePrepareEvent) orderedEvents.get(i++);
+ assertEquals(XAResource.XA_OK, prepareEvent2.getReturnCode());
+ assertEquals(Status.STATUS_ROLLING_BACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ XAResourceRollbackEvent rollbackEvent1 = (XAResourceRollbackEvent) orderedEvents.get(i++);
+ assertTrue(prepareEvent2.getSource() == rollbackEvent1.getSource());
+ XAResourceRollbackEvent rollbackEvent2 = (XAResourceRollbackEvent) orderedEvents.get(i++);
+ assertTrue(prepareEvent1.getSource() == rollbackEvent2.getSource());
+ assertEquals(Status.STATUS_ROLLEDBACK, ((JournalLogEvent) orderedEvents.get(i++)).getStatus());
+ assertEquals(DATASOURCE1_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ assertEquals(DATASOURCE2_NAME, ((ConnectionQueuedEvent) orderedEvents.get(i++)).getPooledConnectionImpl().getPoolingDataSource().getUniqueName());
+ }
+
+ public void testIncorrectSuspendResume() throws Exception {
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+ tm.begin();
+
+ Connection connection1 = poolingDataSource1.getConnection();
+ connection1.createStatement();
+ Connection connection2 = poolingDataSource2.getConnection();
+ connection2.createStatement();
+
+ Transaction tx = tm.suspend();
+
+ assertNull(tm.suspend());
+
+ try {
+ tm.resume(null);
+ fail("TM has allowed resuming a null TX context");
+ } catch (InvalidTransactionException ex) {
+ assertEquals("resumed transaction cannot be null", ex.getMessage());
+ }
+
+ tm.resume(tx);
+
+ try {
+ tm.resume(tx);
+ fail("TM has allowed resuming a TX context when another one is still running");
+ } catch (IllegalStateException ex) {
+ assertEquals("a transaction is already running on this thread", ex.getMessage());
+ }
+
+ connection1.close();
+ connection2.close();
+
+ tm.commit();
+ }
+
+ public void testEagerEnding() throws Exception {
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+
+ try {
+ tm.rollback();
+ fail("TM allowed rollback with no TX started");
+ } catch (IllegalStateException ex) {
+ assertEquals("no transaction started on this thread", ex.getMessage());
+ }
+ try {
+ tm.commit();
+ fail("TM allowed commit with no TX started");
+ } catch (IllegalStateException ex) {
+ assertEquals("no transaction started on this thread", ex.getMessage());
+ }
+ }
+
+ public void testRegisterTwoLrc() throws Exception {
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+
+ PoolingDataSource lrcDs1 = new PoolingDataSource();
+ lrcDs1.setClassName(LrcXADataSource.class.getName());
+ lrcDs1.setUniqueName(DATASOURCE1_NAME + "_lrc");
+ lrcDs1.setMinPoolSize(POOL_SIZE);
+ lrcDs1.setMaxPoolSize(POOL_SIZE);
+ lrcDs1.setAllowLocalTransactions(true);
+ lrcDs1.getDriverProperties().setProperty("driverClassName", MockDriver.class.getName());
+ lrcDs1.getDriverProperties().setProperty("url", "");
+ lrcDs1.init();
+
+ PoolingDataSource lrcDs2 = new PoolingDataSource();
+ lrcDs2.setClassName(LrcXADataSource.class.getName());
+ lrcDs2.setUniqueName(DATASOURCE2_NAME + "_lrc");
+ lrcDs2.setMinPoolSize(POOL_SIZE);
+ lrcDs2.setMaxPoolSize(POOL_SIZE);
+ lrcDs2.setAllowLocalTransactions(true);
+ lrcDs2.getDriverProperties().setProperty("driverClassName", MockDriver.class.getName());
+ lrcDs2.getDriverProperties().setProperty("url", "");
+ lrcDs2.init();
+
+ tm.begin();
+
+ Connection c1 = lrcDs1.getConnection();
+ c1.createStatement();
+ c1.close();
+
+ Connection c2 = lrcDs2.getConnection();
+ try {
+ c2.createStatement();
+ fail("expected SQLException");
+ } catch (SQLException ex) {
+ assertTrue(ex.getMessage().startsWith("error enlisting a JdbcConnectionHandle of a JdbcPooledConnection from datasource pds2_lrc in state ACCESSIBLE with usage count 1 wrapping a JDBC LrcXAConnection on Mock for Connection"));
+ assertTrue(ex.getCause().getMessage().matches("cannot enlist more than one non-XA resource, tried enlisting an XAResourceHolderState with uniqueName=pds2_lrc XAResource=a JDBC LrcXAResource in state NO_TX with XID null, already enlisted: an XAResourceHolderState with uniqueName=pds1_lrc XAResource=a JDBC LrcXAResource in state STARTED \\(started\\) with XID a Bitronix XID .*"));
+ }
+ c2.close();
+
+ tm.commit();
+
+ lrcDs2.close();
+ lrcDs1.close();
+ }
+
+ public void testRegisterTwoLrcJms() throws Exception {
+ BitronixTransactionManager tm = TransactionManagerServices.getTransactionManager();
+
+ PoolingConnectionFactory pcf = new PoolingConnectionFactory();
+ pcf.setClassName(LrcXAConnectionFactory.class.getName());
+ pcf.setUniqueName("pcf_lrc");
+ pcf.setMaxPoolSize(1);
+ pcf.getDriverProperties().setProperty("connectionFactoryClassName", MockConnectionFactory.class.getName());
+ pcf.init();
+
+ PoolingDataSource lrcDs2 = new PoolingDataSource();
+ lrcDs2.setClassName(LrcXADataSource.class.getName());
+ lrcDs2.setUniqueName(DATASOURCE2_NAME + "_lrc");
+ lrcDs2.setMinPoolSize(POOL_SIZE);
+ lrcDs2.setMaxPoolSize(POOL_SIZE);
+ lrcDs2.setAllowLocalTransactions(true);
+ lrcDs2.getDriverProperties().setProperty("driverClassName", MockDriver.class.getName());
+ lrcDs2.getDriverProperties().setProperty("url", "");
+ lrcDs2.init();
+
+ tm.begin();
+
+ javax.jms.Connection c = pcf.createConnection();
+ javax.jms.Session s = c.createSession(true, 0);
+ javax.jms.MessageProducer p = s.createProducer(null);
+ p.send(null);
+ c.close();
+
+ Connection c2 = lrcDs2.getConnection();
+ try {
+ c2.createStatement();
+ fail("expected SQLException");
+ } catch (SQLException ex) {
+ assertTrue(ex.getMessage().startsWith("error enlisting a JdbcConnectionHandle of a JdbcPooledConnection from datasource pds2_lrc in state ACCESSIBLE with usage count 1 wrapping a JDBC LrcXAConnection on Mock for Connection"));
+ assertTrue(ex.getCause().getMessage().startsWith("cannot enlist more than one non-XA resource, tried enlisting an XAResourceHolderState with uniqueName=pds2_lrc XAResource=a JDBC LrcXAResource in state NO_TX with XID null, already enlisted: an XAResourceHolderState with uniqueName=pcf_lrc XAResource=a JMS LrcXAResource in state STARTED of session Mock for Session"));
+ }
+ c2.close();
+
+ tm.commit();
+
+ lrcDs2.close();
+ pcf.close();
+ }
+
+}
diff --git a/test/bitronix/tm/mock/events/Chrono.java b/test/bitronix/tm/mock/events/Chrono.java
new file mode 100644
index 0000000..6793433
--- /dev/null
+++ b/test/bitronix/tm/mock/events/Chrono.java
@@ -0,0 +1,46 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock.events;
+
+/**
+ *
+ * @author lorban
+ */
+public class Chrono {
+
+ private static long lastTime = 0;
+ private static long counter = 0;
+
+ public synchronized static long getTime() {
+ long time = System.currentTimeMillis();
+ if (time <= lastTime) {
+ counter++;
+ time += counter;
+ lastTime += counter;
+ }
+ else {
+ counter = 0;
+ lastTime = time;
+ }
+ return time;
+ }
+
+}
diff --git a/test/bitronix/tm/mock/events/ConnectionCloseEvent.java b/test/bitronix/tm/mock/events/ConnectionCloseEvent.java
new file mode 100644
index 0000000..dad9a43
--- /dev/null
+++ b/test/bitronix/tm/mock/events/ConnectionCloseEvent.java
@@ -0,0 +1,40 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock.events;
+
+/**
+ *
+ * @author lorban
+ */
+public class ConnectionCloseEvent extends Event {
+
+ public ConnectionCloseEvent(Object source) {
+ super(source, null);
+ }
+
+ public ConnectionCloseEvent(Object source, Exception ex) {
+ super(source, ex);
+ }
+
+ public String toString() {
+ return "ConnectionCloseEvent at " + getTimestamp() + (getException()!=null ? " and " + getException().toString() : "");
+ }
+}
diff --git a/test/bitronix/tm/mock/events/ConnectionDequeuedEvent.java b/test/bitronix/tm/mock/events/ConnectionDequeuedEvent.java
new file mode 100644
index 0000000..233817c
--- /dev/null
+++ b/test/bitronix/tm/mock/events/ConnectionDequeuedEvent.java
@@ -0,0 +1,49 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock.events;
+
+import bitronix.tm.resource.jdbc.JdbcPooledConnection;
+
+/**
+ *
+ * @author lorban
+ */
+public class ConnectionDequeuedEvent extends Event {
+
+ private JdbcPooledConnection jdbcPooledConnection;
+
+ public ConnectionDequeuedEvent(Object source, JdbcPooledConnection jdbcPooledConnection) {
+ super(source, null);
+ this.jdbcPooledConnection = jdbcPooledConnection;
+ }
+
+ public ConnectionDequeuedEvent(Object source, Exception ex) {
+ super(source, ex);
+ }
+
+ public JdbcPooledConnection getPooledConnectionImpl() {
+ return jdbcPooledConnection;
+ }
+
+ public String toString() {
+ return "ConnectionDequeuedEvent at " + getTimestamp() + " on " + jdbcPooledConnection + (getException()!=null ? " and " + getException().toString() : "");
+ }
+}
diff --git a/test/bitronix/tm/mock/events/ConnectionQueuedEvent.java b/test/bitronix/tm/mock/events/ConnectionQueuedEvent.java
new file mode 100644
index 0000000..1d884d3
--- /dev/null
+++ b/test/bitronix/tm/mock/events/ConnectionQueuedEvent.java
@@ -0,0 +1,49 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock.events;
+
+import bitronix.tm.resource.jdbc.JdbcPooledConnection;
+
+/**
+ *
+ * @author lorban
+ */
+public class ConnectionQueuedEvent extends Event {
+
+ private JdbcPooledConnection jdbcPooledConnection;
+
+ public ConnectionQueuedEvent(Object source, JdbcPooledConnection jdbcPooledConnection) {
+ super(source, null);
+ this.jdbcPooledConnection = jdbcPooledConnection;
+ }
+
+ public ConnectionQueuedEvent(Object source, Exception ex) {
+ super(source, ex);
+ }
+
+ public JdbcPooledConnection getPooledConnectionImpl() {
+ return jdbcPooledConnection;
+ }
+
+ public String toString() {
+ return "ConnectionQueuedEvent at " + getTimestamp() + " on " + jdbcPooledConnection + (getException()!=null ? " and " + getException().toString() : "");
+ }
+}
diff --git a/test/bitronix/tm/mock/events/Event.java b/test/bitronix/tm/mock/events/Event.java
new file mode 100644
index 0000000..435c122
--- /dev/null
+++ b/test/bitronix/tm/mock/events/Event.java
@@ -0,0 +1,57 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock.events;
+
+/**
+ *
+ * @author lorban
+ */
+public abstract class Event {
+
+ private Exception callStack;
+ private Object source;
+ private Exception exception;
+ private long timestamp;
+
+ protected Event(Object source, Exception ex) {
+ this.callStack = new Exception();
+ this.source = source;
+ this.exception = ex;
+ this.timestamp = Chrono.getTime();
+ }
+
+ public Exception getCallStack() {
+ return callStack;
+ }
+
+ public Object getSource() {
+ return source;
+ }
+
+ public long getTimestamp() {
+ return timestamp;
+ }
+
+ public Exception getException() {
+ return exception;
+ }
+
+}
diff --git a/test/bitronix/tm/mock/events/EventRecorder.java b/test/bitronix/tm/mock/events/EventRecorder.java
new file mode 100644
index 0000000..e889d99
--- /dev/null
+++ b/test/bitronix/tm/mock/events/EventRecorder.java
@@ -0,0 +1,93 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock.events;
+
+import java.util.*;
+
+/**
+ *
+ * @author lorban
+ */
+public class EventRecorder {
+
+ private static Map eventRecorders = new HashMap();
+
+ public synchronized static EventRecorder getEventRecorder(Object key) {
+ EventRecorder er = (EventRecorder) eventRecorders.get(key);
+ if (er == null) {
+ er = new EventRecorder();
+ eventRecorders.put(key, er);
+ }
+ return er;
+ }
+
+ public static Map getEventRecorders() {
+ return eventRecorders;
+ }
+
+ public static Iterator iterateEvents() {
+ return new EventsIterator(eventRecorders);
+ }
+
+ public static List getOrderedEvents() {
+ Iterator iterator = iterateEvents();
+ List orderedEvents = new ArrayList();
+ while (iterator.hasNext()) {
+ Object o = iterator.next();
+ orderedEvents.add(o);
+ }
+ return orderedEvents;
+ }
+
+ public static String dumpToString() {
+ StringBuffer sb = new StringBuffer();
+
+ int i = 0;
+ Iterator it = iterateEvents();
+ while (it.hasNext()) {
+ Event event = (Event) it.next();
+ sb.append(i++);
+ sb.append(" - ");
+ sb.append(event.toString());
+ sb.append("\n");
+ }
+
+ return sb.toString();
+ }
+
+ public static void clear() {
+ eventRecorders.clear();
+ }
+
+ private List events = new ArrayList();
+
+ private EventRecorder() {
+ }
+
+ public void addEvent(Event evt) {
+ events.add(evt);
+ }
+
+ public List getEvents() {
+ return events;
+ }
+
+}
diff --git a/test/bitronix/tm/mock/events/EventsIterator.java b/test/bitronix/tm/mock/events/EventsIterator.java
new file mode 100644
index 0000000..07b45f1
--- /dev/null
+++ b/test/bitronix/tm/mock/events/EventsIterator.java
@@ -0,0 +1,91 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock.events;
+
+import java.util.*;
+
+/**
+ *
+ * @author lorban
+ */
+public class EventsIterator implements Iterator {
+
+ private Iterator[] eventRecorderIterators;
+ private Event[] nextEvents;
+
+ public EventsIterator(Map eventRecorders) {
+ int size = eventRecorders.size();
+ eventRecorderIterators = new Iterator[size];
+ nextEvents = new Event[size];
+
+ int i = 0;
+ Iterator it = eventRecorders.entrySet().iterator();
+ while (it.hasNext()) {
+ Map.Entry entry = (Map.Entry) it.next();
+ EventRecorder er = (EventRecorder) entry.getValue();
+ eventRecorderIterators[i] = er.getEvents().iterator();
+ if (eventRecorderIterators[i].hasNext())
+ nextEvents[i] = (Event) eventRecorderIterators[i].next();
+ i++;
+ }
+ }
+
+ public void remove() {
+ }
+
+ public boolean hasNext() {
+ for (int i = 0; i < nextEvents.length; i++) {
+ Event nextEvent = nextEvents[i];
+ if (nextEvent != null)
+ return true;
+ }
+ return false;
+ }
+
+ public Object next() {
+ Event current = null;
+ int index = -1;
+ for (int i = 0; i < nextEvents.length; i++) {
+ Event nextEvent = nextEvents[i];
+ if (nextEvent == null)
+ continue;
+
+ if (current == null) {
+ current = nextEvent;
+ index = i;
+ }
+ else if (nextEvent.getTimestamp() < current.getTimestamp()) {
+ current = nextEvent;
+ index = i;
+ }
+ }
+
+ if (index != -1) {
+ if (eventRecorderIterators[index].hasNext())
+ nextEvents[index] = (Event) eventRecorderIterators[index].next();
+ else
+ nextEvents[index] = null;
+ }
+
+ return current;
+ }
+
+}
diff --git a/test/bitronix/tm/mock/events/JournalLogEvent.java b/test/bitronix/tm/mock/events/JournalLogEvent.java
new file mode 100644
index 0000000..9110233
--- /dev/null
+++ b/test/bitronix/tm/mock/events/JournalLogEvent.java
@@ -0,0 +1,62 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock.events;
+
+import bitronix.tm.utils.Decoder;
+import bitronix.tm.utils.Uid;
+
+import java.util.Set;
+
+/**
+ *
+ * @author lorban
+ */
+public class JournalLogEvent extends Event {
+
+ private int status;
+ private Uid gtrid;
+ private Set jndiNames;
+
+
+ public JournalLogEvent(Object source, int status, Uid gtrid, Set jndiNames) {
+ super(source, null);
+ this.status = status;
+ this.gtrid = gtrid;
+ this.jndiNames = jndiNames;
+ }
+
+
+ public int getStatus() {
+ return status;
+ }
+
+ public Uid getGtrid() {
+ return gtrid;
+ }
+
+ public Set getJndiNames() {
+ return jndiNames;
+ }
+
+ public String toString() {
+ return "JournalLogEvent at " + getTimestamp() + " with status=" + Decoder.decodeStatus(status);
+ }
+}
diff --git a/test/bitronix/tm/mock/events/LocalCommitEvent.java b/test/bitronix/tm/mock/events/LocalCommitEvent.java
new file mode 100644
index 0000000..71b4d7c
--- /dev/null
+++ b/test/bitronix/tm/mock/events/LocalCommitEvent.java
@@ -0,0 +1,37 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock.events;
+
+/**
+ *
+ * @author lorban
+ */
+public class LocalCommitEvent extends Event {
+
+ public LocalCommitEvent(Object source, Exception ex) {
+ super(source, ex);
+ }
+
+ public String toString() {
+ return "LocalCommitEvent at " + getTimestamp();
+ }
+
+}
diff --git a/test/bitronix/tm/mock/events/LocalRollbackEvent.java b/test/bitronix/tm/mock/events/LocalRollbackEvent.java
new file mode 100644
index 0000000..784680d
--- /dev/null
+++ b/test/bitronix/tm/mock/events/LocalRollbackEvent.java
@@ -0,0 +1,37 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock.events;
+
+/**
+ *
+ * @author lorban
+ */
+public class LocalRollbackEvent extends Event {
+
+ public LocalRollbackEvent(Object source, Exception ex) {
+ super(source, ex);
+ }
+
+ public String toString() {
+ return "LocalRollbackEvent at " + getTimestamp();
+ }
+
+}
\ No newline at end of file
diff --git a/test/bitronix/tm/mock/events/XAConnectionCloseEvent.java b/test/bitronix/tm/mock/events/XAConnectionCloseEvent.java
new file mode 100644
index 0000000..294c987
--- /dev/null
+++ b/test/bitronix/tm/mock/events/XAConnectionCloseEvent.java
@@ -0,0 +1,40 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock.events;
+
+/**
+ *
+ * @author lorban
+ */
+public class XAConnectionCloseEvent extends Event {
+
+ public XAConnectionCloseEvent(Object source) {
+ super(source, null);
+ }
+
+ public XAConnectionCloseEvent(Object source, Exception ex) {
+ super(source, ex);
+ }
+
+ public String toString() {
+ return "XAConnectionCloseEvent at " + getTimestamp() + (getException()!=null ? " and " + getException().toString() : "");
+ }
+}
diff --git a/test/bitronix/tm/mock/events/XAEvent.java b/test/bitronix/tm/mock/events/XAEvent.java
new file mode 100644
index 0000000..ecd2050
--- /dev/null
+++ b/test/bitronix/tm/mock/events/XAEvent.java
@@ -0,0 +1,47 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock.events;
+
+import javax.transaction.xa.Xid;
+
+/**
+ *
+ * @author lorban
+ */
+public abstract class XAEvent extends Event {
+
+ private Xid xid;
+
+ protected XAEvent(Object source, Xid xid) {
+ super(source, null);
+ this.xid = xid;
+ }
+
+ protected XAEvent(Object source, Exception ex, Xid xid) {
+ super(source, ex);
+ this.xid = xid;
+ }
+
+ public Xid getXid() {
+ return xid;
+ }
+
+}
diff --git a/test/bitronix/tm/mock/events/XAResourceCommitEvent.java b/test/bitronix/tm/mock/events/XAResourceCommitEvent.java
new file mode 100644
index 0000000..dc2084c
--- /dev/null
+++ b/test/bitronix/tm/mock/events/XAResourceCommitEvent.java
@@ -0,0 +1,50 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock.events;
+
+import javax.transaction.xa.Xid;
+
+/**
+ *
+ * @author lorban
+ */
+public class XAResourceCommitEvent extends XAEvent {
+
+ private boolean onePhase;
+
+ public XAResourceCommitEvent(Object source, Xid xid, boolean onePhase) {
+ super(source, xid);
+ this.onePhase = onePhase;
+ }
+
+ public XAResourceCommitEvent(Object source, Exception ex, Xid xid, boolean onePhase) {
+ super(source, ex, xid);
+ this.onePhase = onePhase;
+ }
+
+ public boolean isOnePhase() {
+ return onePhase;
+ }
+
+ public String toString() {
+ return "XAResourceCommitEvent at " + getTimestamp() + " with onePhase=" + onePhase + (getException()!=null ? " and " + getException().toString() : "" + " on " + getXid());
+ }
+}
diff --git a/test/bitronix/tm/mock/events/XAResourceEndEvent.java b/test/bitronix/tm/mock/events/XAResourceEndEvent.java
new file mode 100644
index 0000000..47382b0
--- /dev/null
+++ b/test/bitronix/tm/mock/events/XAResourceEndEvent.java
@@ -0,0 +1,48 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock.events;
+
+import bitronix.tm.utils.Decoder;
+
+import javax.transaction.xa.Xid;
+
+/**
+ *
+ * @author lorban
+ */
+public class XAResourceEndEvent extends XAEvent {
+
+ private int flag;
+
+ public XAResourceEndEvent(Object source, Xid xid, int flag) {
+ super(source, xid);
+ this.flag = flag;
+ }
+
+ public int getFlag() {
+ return flag;
+ }
+
+ public String toString() {
+ return "XAResourceEndEvent at " + getTimestamp() + " with flag=" + Decoder.decodeXAResourceFlag(flag) + " on " + getXid();
+ }
+
+}
diff --git a/test/bitronix/tm/mock/events/XAResourceForgetEvent.java b/test/bitronix/tm/mock/events/XAResourceForgetEvent.java
new file mode 100644
index 0000000..8b5f48a
--- /dev/null
+++ b/test/bitronix/tm/mock/events/XAResourceForgetEvent.java
@@ -0,0 +1,38 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock.events;
+
+import javax.transaction.xa.Xid;
+
+/**
+ *
+ * @author lorban
+ */
+public class XAResourceForgetEvent extends XAEvent {
+
+ public XAResourceForgetEvent(Object source, Xid xid) {
+ super(source, xid);
+ }
+
+ public String toString() {
+ return "XAResourceForgetEvent at " + getTimestamp() + " on " + getXid();
+ }
+}
diff --git a/test/bitronix/tm/mock/events/XAResourceIsSameRmEvent.java b/test/bitronix/tm/mock/events/XAResourceIsSameRmEvent.java
new file mode 100644
index 0000000..8bb44b0
--- /dev/null
+++ b/test/bitronix/tm/mock/events/XAResourceIsSameRmEvent.java
@@ -0,0 +1,52 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock.events;
+
+import javax.transaction.xa.XAResource;
+
+/**
+ *
+ * @author lorban
+ */
+public class XAResourceIsSameRmEvent extends XAEvent {
+
+ private XAResource xaResource;
+ private boolean sameRm;
+
+ public XAResourceIsSameRmEvent(Object source, XAResource xaResource, boolean sameRm) {
+ super(source, null);
+ this.xaResource = xaResource;
+ this.sameRm = sameRm;
+ }
+
+ public XAResource getXAResource() {
+ return xaResource;
+ }
+
+ public boolean isSameRm() {
+ return sameRm;
+ }
+
+ public String toString() {
+ return "XAResourceIsSameRmEvent at " + getTimestamp() + " with XAResource=" + xaResource;
+ }
+
+}
\ No newline at end of file
diff --git a/test/bitronix/tm/mock/events/XAResourcePrepareEvent.java b/test/bitronix/tm/mock/events/XAResourcePrepareEvent.java
new file mode 100644
index 0000000..c073639
--- /dev/null
+++ b/test/bitronix/tm/mock/events/XAResourcePrepareEvent.java
@@ -0,0 +1,52 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock.events;
+
+import bitronix.tm.utils.Decoder;
+
+import javax.transaction.xa.Xid;
+
+/**
+ *
+ * @author lorban
+ */
+public class XAResourcePrepareEvent extends XAEvent {
+
+ private int returnCode;
+
+ public XAResourcePrepareEvent(Object source, Xid xid, int returnCode) {
+ super(source, xid);
+ this.returnCode = returnCode;
+ }
+
+ public XAResourcePrepareEvent(Object source, Exception ex, Xid xid, int returnCode) {
+ super(source, ex, xid);
+ this.returnCode = returnCode;
+ }
+
+ public int getReturnCode() {
+ return returnCode;
+ }
+
+ public String toString() {
+ return "XAResourcePrepareEvent at " + getTimestamp() + " with vote=" + Decoder.decodePrepareVote(returnCode) + " on " + getXid();
+ }
+}
diff --git a/test/bitronix/tm/mock/events/XAResourceRollbackEvent.java b/test/bitronix/tm/mock/events/XAResourceRollbackEvent.java
new file mode 100644
index 0000000..2548804
--- /dev/null
+++ b/test/bitronix/tm/mock/events/XAResourceRollbackEvent.java
@@ -0,0 +1,42 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock.events;
+
+import javax.transaction.xa.Xid;
+
+/**
+ *
+ * @author lorban
+ */
+public class XAResourceRollbackEvent extends XAEvent {
+
+ public XAResourceRollbackEvent(Object source, Xid xid) {
+ super(source, xid);
+ }
+
+ public XAResourceRollbackEvent(Object source, Exception ex, Xid xid) {
+ super(source, ex, xid);
+ }
+
+ public String toString() {
+ return "XAResourceRollbackEvent at " + getTimestamp() + " on " + getXid();
+ }
+}
diff --git a/test/bitronix/tm/mock/events/XAResourceStartEvent.java b/test/bitronix/tm/mock/events/XAResourceStartEvent.java
new file mode 100644
index 0000000..baaac28
--- /dev/null
+++ b/test/bitronix/tm/mock/events/XAResourceStartEvent.java
@@ -0,0 +1,47 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock.events;
+
+import javax.transaction.xa.Xid;
+
+import bitronix.tm.utils.Decoder;
+
+/**
+ *
+ * @author lorban
+ */
+public class XAResourceStartEvent extends XAEvent {
+
+ private int flag;
+
+ public XAResourceStartEvent(Object source, Xid xid, int flag) {
+ super(source, xid);
+ this.flag = flag;
+ }
+
+ public int getFlag() {
+ return flag;
+ }
+
+ public String toString() {
+ return "XAResourceStartEvent at " + getTimestamp() + " with flag=" + Decoder.decodeXAResourceFlag(flag) + " on " + getXid();
+ }
+}
diff --git a/test/bitronix/tm/mock/resource/MockJournal.java b/test/bitronix/tm/mock/resource/MockJournal.java
new file mode 100644
index 0000000..e60fbe7
--- /dev/null
+++ b/test/bitronix/tm/mock/resource/MockJournal.java
@@ -0,0 +1,75 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock.resource;
+
+import bitronix.tm.utils.Uid;
+import bitronix.tm.journal.Journal;
+import bitronix.tm.journal.TransactionLogRecord;
+import bitronix.tm.mock.events.EventRecorder;
+import bitronix.tm.mock.events.JournalLogEvent;
+
+import javax.transaction.Status;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ *
+ * @author lorban
+ */
+public class MockJournal implements Journal {
+
+ private Map danglingRecords = new HashMap();
+
+ private EventRecorder getEventRecorder() {
+ return EventRecorder.getEventRecorder(this);
+ }
+
+ public void log(int status, Uid gtrid, Set uniqueNames) throws IOException {
+ TransactionLogRecord record = new TransactionLogRecord(status, gtrid, uniqueNames);
+ if (status == Status.STATUS_COMMITTING) {
+ danglingRecords.put(gtrid, record);
+ }
+ if (status == Status.STATUS_COMMITTED) {
+ danglingRecords.remove(gtrid);
+ }
+ getEventRecorder().addEvent(new JournalLogEvent(this, status, gtrid, uniqueNames));
+ }
+
+ public void open() throws IOException {
+ danglingRecords = new HashMap();
+ }
+
+ public void close() throws IOException {
+ danglingRecords = new HashMap();
+ }
+
+ public void force() throws IOException {
+ }
+
+ public Map collectDanglingRecords() throws IOException {
+ return danglingRecords;
+ }
+
+ public void shutdown() {
+ }
+}
diff --git a/test/bitronix/tm/mock/resource/MockXAResource.java b/test/bitronix/tm/mock/resource/MockXAResource.java
new file mode 100644
index 0000000..d583446
--- /dev/null
+++ b/test/bitronix/tm/mock/resource/MockXAResource.java
@@ -0,0 +1,171 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock.resource;
+
+import javax.transaction.xa.*;
+
+import bitronix.tm.internal.BitronixXAException;
+import bitronix.tm.mock.events.*;
+import bitronix.tm.mock.resource.jdbc.*;
+
+/**
+ *
+ * @author lorban
+ */
+public class MockXAResource implements XAResource {
+
+ private int prepareRc = XAResource.XA_OK;
+ private int transactiontimeout;
+ private MockitoXADataSource xads;
+
+ private XAException endException;
+ private XAException prepareException;
+ private XAException commitException;
+ private XAException rollbackException;
+ private RuntimeException prepareRuntimeException;
+ private XAException recoverException;
+ private long recoveryDelay;
+
+ public MockXAResource(MockitoXADataSource xads) {
+ this.xads = xads;
+ }
+
+ public void setRecoveryDelay(long recoveryDelay) {
+ this.recoveryDelay = recoveryDelay;
+ }
+
+ public void setPrepareRc(int prepareRc) {
+ this.prepareRc = prepareRc;
+ }
+
+ public void addInDoubtXid(Xid xid) {
+ xads.addInDoubtXid(xid);
+ }
+
+ private EventRecorder getEventRecorder() {
+ return EventRecorder.getEventRecorder(this);
+ }
+
+ /*
+ Interface implementation
+ */
+
+ public int getTransactionTimeout() throws XAException {
+ return transactiontimeout;
+ }
+
+ public boolean setTransactionTimeout(int i) throws XAException {
+ this.transactiontimeout = i;
+ return true;
+ }
+
+ public boolean isSameRM(XAResource xaResource) throws XAException {
+ boolean result = xaResource == this;
+ getEventRecorder().addEvent(new XAResourceIsSameRmEvent(this, xaResource, result));
+ return result;
+ }
+
+ public Xid[] recover(int flag) throws XAException {
+ if (recoveryDelay > 0) {
+ try {
+ Thread.sleep(recoveryDelay);
+ } catch (InterruptedException e) {
+ // ignore
+ }
+ }
+
+ if (recoverException != null)
+ throw recoverException;
+ if (xads == null)
+ return new Xid[0];
+ return xads.getInDoubtXids();
+ }
+
+ public int prepare(Xid xid) throws XAException {
+ if (prepareException != null) {
+ getEventRecorder().addEvent(new XAResourcePrepareEvent(this, prepareException, xid, -1));
+ prepareException.fillInStackTrace();
+ throw prepareException;
+ }
+ if (prepareRuntimeException != null) {
+ prepareRuntimeException.fillInStackTrace();
+ getEventRecorder().addEvent(new XAResourcePrepareEvent(this, prepareRuntimeException, xid, -1));
+ throw prepareRuntimeException;
+ }
+ getEventRecorder().addEvent(new XAResourcePrepareEvent(this, xid, prepareRc));
+ return prepareRc;
+ }
+
+ public void forget(Xid xid) throws XAException {
+ getEventRecorder().addEvent(new XAResourceForgetEvent(this, xid));
+ boolean found = xads.removeInDoubtXid(xid);
+ if (!found)
+ throw new BitronixXAException("unknown XID: " + xid, XAException.XAER_INVAL);
+ }
+
+ public void rollback(Xid xid) throws XAException {
+ getEventRecorder().addEvent(new XAResourceRollbackEvent(this, rollbackException, xid));
+ if (rollbackException != null)
+ throw rollbackException;
+ if (xads != null) xads.removeInDoubtXid(xid);
+ }
+
+ public void end(Xid xid, int flag) throws XAException {
+ getEventRecorder().addEvent(new XAResourceEndEvent(this, xid, flag));
+ if (endException != null)
+ throw endException;
+ }
+
+ public void start(Xid xid, int flag) throws XAException {
+ getEventRecorder().addEvent(new XAResourceStartEvent(this, xid, flag));
+ }
+
+ public void commit(Xid xid, boolean b) throws XAException {
+ getEventRecorder().addEvent(new XAResourceCommitEvent(this, commitException, xid, b));
+ if (commitException != null)
+ throw commitException;
+ if (xads != null) xads.removeInDoubtXid(xid);
+ }
+
+ public void setEndException(XAException endException) {
+ this.endException = endException;
+ }
+
+ public void setPrepareException(XAException prepareException) {
+ this.prepareException = prepareException;
+ }
+
+ public void setPrepareException(RuntimeException prepareException) {
+ this.prepareRuntimeException = prepareException;
+ }
+
+ public void setCommitException(XAException commitException) {
+ this.commitException = commitException;
+ }
+
+ public void setRollbackException(XAException rollbackException) {
+ this.rollbackException = rollbackException;
+ }
+
+ public void setRecoverException(XAException recoverException) {
+ this.recoverException = recoverException;
+ }
+}
diff --git a/test/bitronix/tm/mock/resource/MockXid.java b/test/bitronix/tm/mock/resource/MockXid.java
new file mode 100644
index 0000000..d9d2d3c
--- /dev/null
+++ b/test/bitronix/tm/mock/resource/MockXid.java
@@ -0,0 +1,86 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock.resource;
+
+import javax.transaction.xa.Xid;
+
+/**
+ *
+ * @author lorban
+ */
+public class MockXid implements Xid {
+
+ private int formatId = 123456;
+ private byte[] bqual;
+ private byte[] gtrid;
+
+ public MockXid(long bqual0, long gtrid0, int formatId) {
+ this(bqual0, gtrid0);
+ this.formatId = formatId;
+ }
+
+ public MockXid(long bqual0, byte[] gtrid0, int formatId) {
+ this.bqual = new byte[8];
+ System.arraycopy(longToBytes(bqual0), 0, bqual, 0, 8);
+ this.gtrid = gtrid0;
+ this.formatId = formatId;
+ }
+
+ public MockXid(long bqual0, long gtrid0) {
+ this.bqual = new byte[8];
+ this.gtrid = new byte[8];
+ System.arraycopy(longToBytes(bqual0), 0, bqual, 0, 8);
+ System.arraycopy(longToBytes(gtrid0), 0, gtrid, 0, 8);
+ }
+
+ public MockXid(byte[] bqual, byte[] gtrid) {
+ this.bqual = bqual;
+ this.gtrid = gtrid;
+ }
+
+ public MockXid(byte[] bqual, byte[] gtrid, int formatId) {
+ this.bqual = bqual;
+ this.gtrid = gtrid;
+ this.formatId = formatId;
+ }
+
+ public int getFormatId() {
+ return formatId;
+ }
+
+ public byte[] getBranchQualifier() {
+ return bqual;
+ }
+
+ public byte[] getGlobalTransactionId() {
+ return gtrid;
+ }
+
+ private static byte[] longToBytes(long aLong) {
+ byte[] array = new byte[8];
+
+ for (int i = 0; i < 8; i++) {
+ array[i] = (byte) ((aLong >> (8 * i)) & 0xff);
+ }
+
+ return array;
+ }
+}
diff --git a/test/bitronix/tm/mock/resource/jdbc/MockDriver.java b/test/bitronix/tm/mock/resource/jdbc/MockDriver.java
new file mode 100644
index 0000000..cefc795
--- /dev/null
+++ b/test/bitronix/tm/mock/resource/jdbc/MockDriver.java
@@ -0,0 +1,58 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock.resource.jdbc;
+
+import java.sql.Driver;
+import java.sql.SQLException;
+import java.sql.Connection;
+import java.sql.DriverPropertyInfo;
+import java.util.Properties;
+
+/**
+ *
+ * @author lorban
+ */
+public class MockDriver implements Driver {
+
+ public int getMajorVersion() {
+ return 0;
+ }
+
+ public int getMinorVersion() {
+ return 0;
+ }
+
+ public boolean jdbcCompliant() {
+ return false;
+ }
+
+ public boolean acceptsURL(String url) throws SQLException {
+ return false;
+ }
+
+ public Connection connect(String url, Properties info) throws SQLException {
+ return MockitoXADataSource.createMockConnection();
+ }
+
+ public DriverPropertyInfo[] getPropertyInfo(String url, Properties info) throws SQLException {
+ return new DriverPropertyInfo[0];
+ }
+}
diff --git a/test/bitronix/tm/mock/resource/jdbc/MockitoXADataSource.java b/test/bitronix/tm/mock/resource/jdbc/MockitoXADataSource.java
new file mode 100644
index 0000000..9a35e91
--- /dev/null
+++ b/test/bitronix/tm/mock/resource/jdbc/MockitoXADataSource.java
@@ -0,0 +1,213 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock.resource.jdbc;
+
+import static org.mockito.Matchers.*;
+import static org.mockito.Mockito.*;
+
+import java.io.PrintWriter;
+import java.sql.*;
+import java.util.*;
+
+import javax.sql.*;
+import javax.transaction.xa.*;
+
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
+
+import bitronix.tm.mock.events.*;
+import bitronix.tm.mock.resource.MockXAResource;
+
+/**
+ *
+ * @author lorban
+ */
+public class MockitoXADataSource implements XADataSource {
+
+ private List xaConnections = new ArrayList();
+ private String userName;
+ private String password;
+ private String database;
+ private List inDoubtXids = new ArrayList();
+ private SQLException getXAConnectionException;
+ private static SQLException staticGetXAConnectionException;
+ private static SQLException staticCloseXAConnectionException;
+
+ public int getLoginTimeout() throws SQLException {
+ return 0;
+ }
+
+ public void setLoginTimeout(int seconds) throws SQLException {
+ }
+
+ public PrintWriter getLogWriter() throws SQLException {
+ return null;
+ }
+
+ public void setLogWriter(PrintWriter out) throws SQLException {
+ }
+
+ public XAConnection getXAConnection() throws SQLException {
+ if (staticGetXAConnectionException != null)
+ throw staticGetXAConnectionException;
+ if (getXAConnectionException != null)
+ throw getXAConnectionException;
+
+ // Create an XAResource
+ XAResource xaResource = new MockXAResource(this);
+
+
+ // Setup mock XAConnection
+ final XAConnection mockXAConnection = mock(XAConnection.class);
+ // Handle XAConnection.close(), first time we answer, after that we throw
+ doAnswer(new Answer() {
+ public Object answer(InvocationOnMock invocation) throws Throwable {
+ EventRecorder eventRecorder = EventRecorder.getEventRecorder(mockXAConnection);
+ eventRecorder.addEvent(new XAConnectionCloseEvent(mockXAConnection));
+ return null;
+ }
+ }).doThrow(new SQLException("XAConnection is already closed")).when(mockXAConnection).close();
+
+ when(mockXAConnection.getXAResource()).thenReturn(xaResource);
+ Connection mockConnection = createMockConnection();
+ when(mockXAConnection.getConnection()).thenReturn(mockConnection);
+
+ if (staticCloseXAConnectionException != null)
+ doThrow(staticCloseXAConnectionException).when(mockXAConnection).close();
+
+ xaConnections.add(mockXAConnection);
+ return mockXAConnection;
+ }
+
+ public XAConnection getXAConnection(String user, String password) throws SQLException {
+ return getXAConnection();
+ }
+
+ public void setXaConnections(List xaConnections) {
+ this.xaConnections = xaConnections;
+ }
+
+ public String getUserName() {
+ return userName;
+ }
+
+ public void setUserName(String userName) {
+ this.userName = userName;
+ }
+
+ public String getPassword() {
+ return password;
+ }
+
+ public void setPassword(String password) {
+ this.password = password;
+ }
+
+ public String getDatabase() {
+ return database;
+ }
+
+ public void setDatabase(String database) {
+ this.database = database;
+ }
+
+ public void addInDoubtXid(Xid xid) {
+ inDoubtXids.add(xid);
+ }
+
+ public boolean removeInDoubtXid(Xid xid) {
+ for (int i = 0; i < inDoubtXids.size(); i++) {
+ Xid xid1 = (Xid) inDoubtXids.get(i);
+ if (Arrays.equals(xid1.getGlobalTransactionId(), xid.getGlobalTransactionId()) && Arrays.equals(xid1.getBranchQualifier(), xid.getBranchQualifier()) ) {
+ inDoubtXids.remove(xid1);
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public Xid[] getInDoubtXids() {
+ return (Xid[]) inDoubtXids.toArray(new Xid[inDoubtXids.size()]);
+ }
+
+ public void setGetXAConnectionException(SQLException ex) {
+ this.getXAConnectionException = ex;
+ }
+
+ public static void setStaticGetXAConnectionException(SQLException ex) {
+ staticGetXAConnectionException = ex;
+ }
+
+ public static void setStaticCloseXAConnectionException(SQLException ex) {
+ staticCloseXAConnectionException = ex;
+ }
+
+ public static Connection createMockConnection() throws SQLException {
+ // Setup mock connection
+ final Connection mockConnection = mock(Connection.class);
+ // Autocommit is always true by default
+ when(mockConnection.getAutoCommit()).thenReturn(true);
+ // Handle Connection.createStatement()
+ Statement statement = mock(Statement.class);
+ when(mockConnection.createStatement()).thenReturn(statement);
+ when(mockConnection.createStatement(anyInt(), anyInt())).thenReturn(statement);
+ when(mockConnection.createStatement(anyInt(), anyInt(), anyInt())).thenReturn(statement);
+ // Handle Connection.prepareStatement()
+ PreparedStatement mockPreparedStatement = mock(PreparedStatement.class);
+ when(mockConnection.prepareStatement(anyString())).thenReturn(mockPreparedStatement);
+ when(mockConnection.prepareStatement(anyString(), anyInt())).thenReturn(mockPreparedStatement);
+ when(mockConnection.prepareStatement(anyString(), (int[]) anyObject())).thenReturn(mockPreparedStatement);
+ when(mockConnection.prepareStatement(anyString(), (String[]) anyObject())).thenReturn(mockPreparedStatement);
+ when(mockConnection.prepareStatement(anyString(), anyInt(), anyInt())).thenReturn(mockPreparedStatement);
+ when(mockConnection.prepareStatement(anyString(), anyInt(), anyInt(), anyInt())).thenReturn(mockPreparedStatement);
+ // Handle Connection.prepareCall()
+ CallableStatement mockCallableStatement = mock(CallableStatement.class);
+ when(mockConnection.prepareCall(anyString())).thenReturn(mockCallableStatement);
+ when(mockConnection.prepareCall(anyString(), anyInt(), anyInt())).thenReturn(mockCallableStatement);
+ when(mockConnection.prepareCall(anyString(), anyInt(), anyInt(), anyInt())).thenReturn(mockCallableStatement);
+ // Handle Connection.close()
+ doAnswer(new Answer() {
+ public Object answer(InvocationOnMock invocation) throws Throwable {
+ EventRecorder eventRecorder = EventRecorder.getEventRecorder(mockConnection);
+ eventRecorder.addEvent(new ConnectionCloseEvent(mockConnection));
+ return null;
+ }
+ }).doThrow(new SQLException("Connection is already closed")).when(mockConnection).close();
+ // Handle Connection.commit()
+ doAnswer(new Answer() {
+ public Object answer(InvocationOnMock invocation) throws Throwable {
+ EventRecorder eventRecorder = EventRecorder.getEventRecorder(mockConnection);
+ eventRecorder.addEvent(new LocalCommitEvent(mockConnection, new Exception()));
+ return null;
+ }
+ }).doThrow(new SQLException("Transaction already commited")).when(mockConnection).commit();
+ // Handle Connection.rollback()
+ doAnswer(new Answer() {
+ public Object answer(InvocationOnMock invocation) throws Throwable {
+ EventRecorder eventRecorder = EventRecorder.getEventRecorder(mockConnection);
+ eventRecorder.addEvent(new LocalRollbackEvent(mockConnection, new Exception()));
+ return null;
+ }
+ }).doThrow(new SQLException("Transaction already rolledback")).when(mockConnection).rollback();
+
+ return mockConnection;
+ }
+}
diff --git a/test/bitronix/tm/mock/resource/jms/MockConnectionFactory.java b/test/bitronix/tm/mock/resource/jms/MockConnectionFactory.java
new file mode 100644
index 0000000..085f41e
--- /dev/null
+++ b/test/bitronix/tm/mock/resource/jms/MockConnectionFactory.java
@@ -0,0 +1,55 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock.resource.jms;
+
+import static org.mockito.Matchers.*;
+import static org.mockito.Mockito.*;
+
+import javax.jms.*;
+
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
+
+/**
+ *
+ * @author lorban
+ */
+public class MockConnectionFactory implements ConnectionFactory {
+
+ public Connection createConnection() throws JMSException {
+ Answer<Session> sessionAnswer = new Answer<Session>() {
+ public Session answer(InvocationOnMock invocation) throws Throwable {
+ Session session = mock(Session.class);
+ MessageProducer producer = mock(MessageProducer.class);
+ when(session.createProducer((Destination) anyObject())).thenReturn(producer);
+ return session;
+ }
+ };
+
+ Connection connection = mock(Connection.class);
+ when(connection.createSession(anyBoolean(), anyInt())).thenAnswer(sessionAnswer);
+ return connection;
+ }
+
+ public Connection createConnection(String jndiName, String jndiName1) throws JMSException {
+ return createConnection();
+ }
+}
\ No newline at end of file
diff --git a/test/bitronix/tm/mock/resource/jms/MockXAConnectionFactory.java b/test/bitronix/tm/mock/resource/jms/MockXAConnectionFactory.java
new file mode 100644
index 0000000..4f5a707
--- /dev/null
+++ b/test/bitronix/tm/mock/resource/jms/MockXAConnectionFactory.java
@@ -0,0 +1,95 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.mock.resource.jms;
+
+import static org.mockito.Matchers.*;
+import static org.mockito.Mockito.*;
+
+import javax.jms.*;
+
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
+
+import bitronix.tm.mock.resource.MockXAResource;
+
+/**
+ *
+ * @author lorban
+ */
+public class MockXAConnectionFactory implements XAConnectionFactory {
+
+ private static JMSException staticCloseXAConnectionException;
+ private static JMSException staticCreateXAConnectionException;
+
+ public XAConnection createXAConnection() throws JMSException {
+ if (staticCreateXAConnectionException != null)
+ throw staticCreateXAConnectionException;
+
+ Answer xaSessionAnswer = new Answer<XASession>() {
+ public XASession answer(InvocationOnMock invocation)throws Throwable {
+ XASession mockXASession = mock(XASession.class);
+ MessageProducer messageProducer = mock(MessageProducer.class);
+ when(mockXASession.createProducer((Destination) anyObject())).thenReturn(messageProducer);
+ MessageConsumer messageConsumer = mock(MessageConsumer.class);
+ when(mockXASession.createConsumer((Destination) anyObject())).thenReturn(messageConsumer);
+ when(mockXASession.createConsumer((Destination) anyObject(), anyString())).thenReturn(messageConsumer);
+ when(mockXASession.createConsumer((Destination) anyObject(), anyString(), anyBoolean())).thenReturn(messageConsumer);
+ Queue queue = mock(Queue.class);
+ when(mockXASession.createQueue(anyString())).thenReturn(queue);
+ Topic topic = mock(Topic.class);
+ when(mockXASession.createTopic(anyString())).thenReturn(topic);
+ MockXAResource mockXAResource = new MockXAResource(null);
+ when(mockXASession.getXAResource()).thenReturn(mockXAResource);
+ Answer<Session> sessionAnswer = new Answer<Session>() {
+ public Session answer(InvocationOnMock invocation) throws Throwable {
+ Session session = mock(Session.class);
+ MessageProducer producer = mock(MessageProducer.class);
+ when(session.createProducer((Destination) anyObject())).thenReturn(producer);
+ return session;
+ }
+ };
+ when(mockXASession.getSession()).thenAnswer(sessionAnswer);
+
+ return mockXASession;
+ }
+ };
+
+ XAConnection mockXAConnection = mock(XAConnection.class);
+ when(mockXAConnection.createXASession()).thenAnswer(xaSessionAnswer);
+ when(mockXAConnection.createSession(anyBoolean(), anyInt())).thenAnswer(xaSessionAnswer);
+ if (staticCloseXAConnectionException != null)
+ doThrow(staticCloseXAConnectionException).when(mockXAConnection).close();
+
+ return mockXAConnection;
+ }
+
+ public XAConnection createXAConnection(String jndiName, String jndiName1) throws JMSException {
+ return createXAConnection();
+ }
+
+ public static void setStaticCloseXAConnectionException(JMSException e) {
+ staticCloseXAConnectionException = e;
+ }
+
+ public static void setStaticCreateXAConnectionException(JMSException e) {
+ staticCreateXAConnectionException = e;
+ }
+}
diff --git a/test/bitronix/tm/recovery/RecovererTest.java b/test/bitronix/tm/recovery/RecovererTest.java
new file mode 100644
index 0000000..0e9e793
--- /dev/null
+++ b/test/bitronix/tm/recovery/RecovererTest.java
@@ -0,0 +1,382 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.recovery;
+
+import java.io.File;
+import java.lang.reflect.*;
+import java.sql.Connection;
+import java.util.*;
+
+import javax.transaction.Status;
+import javax.transaction.xa.*;
+
+import junit.framework.TestCase;
+
+import org.slf4j.*;
+
+import bitronix.tm.*;
+import bitronix.tm.internal.TransactionStatusChangeListener;
+import bitronix.tm.journal.Journal;
+import bitronix.tm.mock.events.*;
+import bitronix.tm.mock.resource.*;
+import bitronix.tm.mock.resource.jdbc.MockitoXADataSource;
+import bitronix.tm.resource.ResourceRegistrar;
+import bitronix.tm.resource.common.*;
+import bitronix.tm.resource.jdbc.*;
+import bitronix.tm.utils.*;
+
+/**
+ *
+ * @author lorban
+ */
+public class RecovererTest extends TestCase {
+ private final static Logger log = LoggerFactory.getLogger(RecovererTest.class);
+
+ private MockXAResource xaResource;
+ private PoolingDataSource pds;
+ private Journal journal;
+
+
+ protected void setUp() throws Exception {
+ Iterator it = ResourceRegistrar.getResourcesUniqueNames().iterator();
+ while (it.hasNext()) {
+ String name = (String) it.next();
+ ResourceRegistrar.unregister(ResourceRegistrar.get(name));
+ }
+
+ pds = new PoolingDataSource();
+ pds.setClassName(MockitoXADataSource.class.getName());
+ pds.setUniqueName("mock-xads");
+ pds.setMinPoolSize(1);
+ pds.setMaxPoolSize(1);
+ pds.init();
+
+ new File(TransactionManagerServices.getConfiguration().getLogPart1Filename()).delete();
+ new File(TransactionManagerServices.getConfiguration().getLogPart2Filename()).delete();
+
+ Connection connection1 = pds.getConnection();
+ JdbcConnectionHandle handle = (JdbcConnectionHandle) Proxy.getInvocationHandler(connection1);
+ xaResource = (MockXAResource) handle.getPooledConnection().getXAResource();
+ handle.close();
+
+ // test the clustered recovery as its logic is more complex and covers the non-clustered logic
+ TransactionManagerServices.getConfiguration().setCurrentNodeOnlyRecovery(true);
+
+ // recoverer needs the journal to be open to be run manually
+ journal = TransactionManagerServices.getJournal();
+ journal.open();
+ }
+
+
+ protected void tearDown() throws Exception {
+ if (TransactionManagerServices.isTransactionManagerRunning())
+ TransactionManagerServices.getTransactionManager().shutdown();
+
+ journal.close();
+ pds.close();
+ TransactionManagerServices.getJournal().close();
+ new File(TransactionManagerServices.getConfiguration().getLogPart1Filename()).delete();
+ new File(TransactionManagerServices.getConfiguration().getLogPart2Filename()).delete();
+ EventRecorder.clear();
+ }
+
+ /**
+ * Create 3 XIDs on the resource that are not in the journal -> recoverer presumes they have aborted and rolls
+ * them back.
+ * @throws Exception
+ */
+ public void testRecoverPresumedAbort() throws Exception {
+ byte[] gtrid = UidGenerator.generateUid().getArray();
+
+ xaResource.addInDoubtXid(new MockXid(0, gtrid, BitronixXid.FORMAT_ID));
+ xaResource.addInDoubtXid(new MockXid(1, gtrid, BitronixXid.FORMAT_ID));
+ xaResource.addInDoubtXid(new MockXid(2, gtrid, BitronixXid.FORMAT_ID));
+
+ TransactionManagerServices.getRecoverer().run();
+
+ assertEquals(0, TransactionManagerServices.getRecoverer().getCommittedCount());
+ assertEquals(3, TransactionManagerServices.getRecoverer().getRolledbackCount());
+ assertEquals(0, xaResource.recover(XAResource.TMSTARTRSCAN | XAResource.TMENDRSCAN).length);
+ }
+
+ /**
+ * Create 3 XIDs on the resource that are not in the journal -> recoverer presumes they have aborted and rolls
+ * them back.
+ * @throws Exception
+ */
+ public void testIncrementalRecoverPresumedAbort() throws Exception {
+ byte[] gtrid = UidGenerator.generateUid().getArray();
+
+ xaResource.addInDoubtXid(new MockXid(0, gtrid, BitronixXid.FORMAT_ID));
+ xaResource.addInDoubtXid(new MockXid(1, gtrid, BitronixXid.FORMAT_ID));
+ xaResource.addInDoubtXid(new MockXid(2, gtrid, BitronixXid.FORMAT_ID));
+
+ IncrementalRecoverer.recover(pds);
+
+ assertEquals(0, xaResource.recover(XAResource.TMSTARTRSCAN | XAResource.TMENDRSCAN).length);
+ }
+
+ /**
+ * Create 3 XIDs on the resource that are in the journal -> recoverer commits them.
+ * @throws Exception
+ */
+ public void testRecoverCommitting() throws Exception {
+ Xid xid0 = new MockXid(0, UidGenerator.generateUid().getArray(), BitronixXid.FORMAT_ID);
+ xaResource.addInDoubtXid(xid0);
+ Xid xid1 = new MockXid(1, UidGenerator.generateUid().getArray(), BitronixXid.FORMAT_ID);
+ xaResource.addInDoubtXid(xid1);
+ Xid xid2 = new MockXid(2, UidGenerator.generateUid().getArray(), BitronixXid.FORMAT_ID);
+ xaResource.addInDoubtXid(xid2);
+
+ Set names = new HashSet();
+ names.add(pds.getUniqueName());
+ journal.log(Status.STATUS_COMMITTING, new Uid(xid0.getGlobalTransactionId()), names);
+ journal.log(Status.STATUS_COMMITTING, new Uid(xid1.getGlobalTransactionId()), names);
+ journal.log(Status.STATUS_COMMITTING, new Uid(xid2.getGlobalTransactionId()), names);
+ TransactionManagerServices.getRecoverer().run();
+
+ assertEquals(3, TransactionManagerServices.getRecoverer().getCommittedCount());
+ assertEquals(0, TransactionManagerServices.getRecoverer().getRolledbackCount());
+ assertEquals(0, xaResource.recover(XAResource.TMSTARTRSCAN | XAResource.TMENDRSCAN).length);
+ }
+
+ /**
+ * Create 3 XIDs on the resource that are in the journal -> recoverer commits them.
+ * @throws Exception
+ */
+ public void testIncrementalRecoverCommitting() throws Exception {
+ Xid xid0 = new MockXid(0, UidGenerator.generateUid().getArray(), BitronixXid.FORMAT_ID);
+ xaResource.addInDoubtXid(xid0);
+ Xid xid1 = new MockXid(1, UidGenerator.generateUid().getArray(), BitronixXid.FORMAT_ID);
+ xaResource.addInDoubtXid(xid1);
+ Xid xid2 = new MockXid(2, UidGenerator.generateUid().getArray(), BitronixXid.FORMAT_ID);
+ xaResource.addInDoubtXid(xid2);
+
+ Set names = new HashSet();
+ names.add(pds.getUniqueName());
+ journal.log(Status.STATUS_COMMITTING, new Uid(xid0.getGlobalTransactionId()), names);
+ journal.log(Status.STATUS_COMMITTING, new Uid(xid1.getGlobalTransactionId()), names);
+ journal.log(Status.STATUS_COMMITTING, new Uid(xid2.getGlobalTransactionId()), names);
+
+ IncrementalRecoverer.recover(pds);
+
+ assertEquals(0, xaResource.recover(XAResource.TMSTARTRSCAN | XAResource.TMENDRSCAN).length);
+ }
+
+ public void testSkipInFlightRollback() throws Exception {
+ BitronixTransactionManager btm = TransactionManagerServices.getTransactionManager();
+
+ Uid uid0 = UidGenerator.generateUid();
+ Xid xid0 = new MockXid(0, uid0.getArray(), BitronixXid.FORMAT_ID);
+ xaResource.addInDoubtXid(xid0);
+
+ assertNull(btm.getCurrentTransaction());
+ Thread.sleep(30); // let the clock run a bit so that in-flight TX is a bit older than the journaled one
+ btm.begin();
+
+ Xid xid1 = new MockXid(1, UidGenerator.generateUid().getArray(), BitronixXid.FORMAT_ID);
+ xaResource.addInDoubtXid(xid1);
+
+ TransactionManagerServices.getRecoverer().run();
+
+ btm.rollback();
+
+ assertEquals(0, TransactionManagerServices.getRecoverer().getCommittedCount());
+ assertEquals(1, TransactionManagerServices.getRecoverer().getRolledbackCount());
+ assertEquals(1, xaResource.recover(XAResource.TMSTARTRSCAN | XAResource.TMENDRSCAN).length);
+
+ btm.shutdown();
+ TransactionManagerServices.getJournal().open();
+ TransactionManagerServices.getRecoverer().run();
+
+ assertEquals(0, TransactionManagerServices.getRecoverer().getCommittedCount());
+ assertEquals(1, TransactionManagerServices.getRecoverer().getRolledbackCount());
+ assertEquals(0, xaResource.recover(XAResource.TMSTARTRSCAN | XAResource.TMENDRSCAN).length);
+ }
+
+ public void testSkipInFlightCommit() throws Exception {
+ BitronixTransactionManager btm = TransactionManagerServices.getTransactionManager();
+
+ Uid uid0 = UidGenerator.generateUid();
+ Xid xid0 = new MockXid(0, uid0.getArray(), BitronixXid.FORMAT_ID);
+ xaResource.addInDoubtXid(xid0);
+ Set names = new HashSet();
+ names.add(pds.getUniqueName());
+ journal.log(Status.STATUS_COMMITTING, new Uid(xid0.getGlobalTransactionId()), names);
+
+ assertNull(btm.getCurrentTransaction());
+ Thread.sleep(30); // let the clock run a bit so that in-flight TX is a bit older than the journaled one
+ btm.begin();
+
+ Xid xid1 = new MockXid(1, UidGenerator.generateUid().getArray(), BitronixXid.FORMAT_ID);
+ xaResource.addInDoubtXid(xid1);
+
+ names = new HashSet();
+ names.add(pds.getUniqueName());
+ journal.log(Status.STATUS_COMMITTING, new Uid(xid1.getGlobalTransactionId()), names);
+
+ TransactionManagerServices.getRecoverer().run();
+
+ btm.rollback();
+
+ assertEquals(1, xaResource.recover(XAResource.TMSTARTRSCAN | XAResource.TMENDRSCAN).length);
+
+ btm.shutdown();
+ TransactionManagerServices.getJournal().open();
+ TransactionManagerServices.getRecoverer().run();
+
+ assertEquals(0, xaResource.recover(XAResource.TMSTARTRSCAN | XAResource.TMENDRSCAN).length);
+ }
+
+ public void testRecoverMissingResource() throws Exception {
+ final Xid xid0 = new MockXid(0, UidGenerator.generateUid().getArray(), BitronixXid.FORMAT_ID);
+ xaResource.addInDoubtXid(xid0);
+
+ Set names = new HashSet();
+ names.add("no-such-registered-resource");
+ journal.log(Status.STATUS_COMMITTING, new Uid(xid0.getGlobalTransactionId()), names);
+ assertEquals(1, TransactionManagerServices.getJournal().collectDanglingRecords().size());
+
+ // the TM must run the recoverer in this scenario
+ TransactionManagerServices.getTransactionManager();
+
+ assertEquals(1, TransactionManagerServices.getJournal().collectDanglingRecords().size());
+ assertNull(TransactionManagerServices.getRecoverer().getCompletionException());
+ assertEquals(0, TransactionManagerServices.getRecoverer().getCommittedCount());
+ assertEquals(1, TransactionManagerServices.getRecoverer().getRolledbackCount());
+ assertEquals(0, xaResource.recover(XAResource.TMSTARTRSCAN | XAResource.TMENDRSCAN).length);
+
+
+ // the TM is running, adding this resource will kick incremental recovery on it
+ PoolingDataSource pds = new PoolingDataSource() {
+ public XAStatefulHolder createPooledConnection(Object xaFactory, ResourceBean bean) throws Exception {
+ JdbcPooledConnection pc = (JdbcPooledConnection) super.createPooledConnection(xaFactory, bean);
+ MockXAResource xaResource = (MockXAResource) pc.getXAResource();
+ xaResource.addInDoubtXid(UidGenerator.generateXid(new Uid(xid0.getGlobalTransactionId())));
+ return pc;
+ }
+ };
+ pds.setClassName(MockitoXADataSource.class.getName());
+ pds.setUniqueName("no-such-registered-resource");
+ pds.setMinPoolSize(1);
+ pds.setMaxPoolSize(1);
+ pds.init();
+
+ Connection connection = pds.getConnection();
+ JdbcConnectionHandle handle = (JdbcConnectionHandle) Proxy.getInvocationHandler(connection);
+ XAResource xaResource = handle.getPooledConnection().getXAResource();
+ handle.close();
+
+ assertEquals(0, xaResource.recover(XAResource.TMSTARTRSCAN | XAResource.TMENDRSCAN).length);
+ assertEquals(0, TransactionManagerServices.getJournal().collectDanglingRecords().size());
+
+ pds.close();
+
+ TransactionManagerServices.getTransactionManager().shutdown();
+ }
+
+ boolean listenerExecuted = false;
+ public void testBackgroundRecovererSkippingInFlightTransactions() throws Exception {
+ // change disk journal into mock journal
+ Field journalField = TransactionManagerServices.class.getDeclaredField("journal");
+ journalField.setAccessible(true);
+ journalField.set(TransactionManagerServices.class, new MockJournal());
+
+ pds.setMaxPoolSize(2);
+ BitronixTransactionManager btm = TransactionManagerServices.getTransactionManager();
+ final Recoverer recoverer = TransactionManagerServices.getRecoverer();
+
+ try {
+ btm.begin();
+
+ BitronixTransaction tx = btm.getCurrentTransaction();
+ tx.addTransactionStatusChangeListener(new TransactionStatusChangeListener() {
+ public void statusChanged(int oldStatus, int newStatus) {
+ if (newStatus != Status.STATUS_COMMITTING)
+ return;
+
+ recoverer.run();
+ assertEquals(0, recoverer.getCommittedCount());
+ assertEquals(0, recoverer.getRolledbackCount());
+ assertNull(recoverer.getCompletionException());
+ listenerExecuted = true;
+ }
+ });
+
+ Connection c = pds.getConnection();
+ c.createStatement();
+ c.close();
+
+ xaResource.addInDoubtXid(new MockXid(new byte[] {0, 1, 2}, tx.getResourceManager().getGtrid().getArray(), BitronixXid.FORMAT_ID));
+
+ btm.commit();
+ }
+ finally {
+ btm.shutdown();
+ }
+
+ assertTrue("recoverer did not run between phases 1 and 2", listenerExecuted);
+
+ int committedCount = 0;
+
+ List events = EventRecorder.getOrderedEvents();
+ for (int i = 0; i < events.size(); i++) {
+ Event event = (Event) events.get(i);
+ if (event instanceof JournalLogEvent) {
+ if (((JournalLogEvent) event).getStatus() == Status.STATUS_COMMITTED)
+ committedCount++;
+ }
+ }
+
+ assertEquals("TX has been committed more or less times than just once", 1, committedCount);
+ }
+
+
+ public void testReentrance() throws Exception {
+ log.debug("Start test RecovererTest.testReentrance()");
+ final int THREAD_COUNT = 10;
+ Recoverer recoverer = new Recoverer();
+ xaResource.setRecoveryDelay(1000);
+
+ List threads = new ArrayList();
+
+ //create
+ for (int i=0; i< THREAD_COUNT;i++) {
+ Thread t = new Thread(recoverer);
+ threads.add(t);
+ }
+
+ //start
+ for (int i=0; i< THREAD_COUNT;i++) {
+ Thread t = (Thread) threads.get(i);
+ t.start();
+ }
+
+ //join
+ for (int i=0; i< THREAD_COUNT;i++) {
+ Thread t = (Thread) threads.get(i);
+ t.join();
+ }
+
+ assertEquals(1, recoverer.getExecutionsCount());
+ }
+
+}
diff --git a/test/bitronix/tm/resource/ResourceLoaderTest.java b/test/bitronix/tm/resource/ResourceLoaderTest.java
new file mode 100644
index 0000000..25839ed
--- /dev/null
+++ b/test/bitronix/tm/resource/ResourceLoaderTest.java
@@ -0,0 +1,240 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource;
+
+import java.lang.reflect.Field;
+import java.util.*;
+
+import javax.sql.XADataSource;
+
+import junit.framework.TestCase;
+import bitronix.tm.mock.resource.jdbc.MockitoXADataSource;
+import bitronix.tm.mock.resource.jms.MockXAConnectionFactory;
+import bitronix.tm.resource.jdbc.PoolingDataSource;
+import bitronix.tm.resource.jms.PoolingConnectionFactory;
+import bitronix.tm.utils.PropertyUtils;
+
+/**
+ *
+ * @author lorban
+ */
+public class ResourceLoaderTest extends TestCase {
+
+ public void testBindOneJdbc() throws Exception {
+ ResourceLoader loader = new ResourceLoader();
+
+ Properties p = new Properties();
+ p.setProperty("resource.ds1.className", MockitoXADataSource.class.getName());
+ p.setProperty("resource.ds1.uniqueName", "dataSource1");
+ p.setProperty("resource.ds1.maxPoolSize", "123");
+ p.setProperty("resource.ds1.automaticEnlistingEnabled", "true");
+ p.setProperty("resource.ds1.useTmJoin", "false");
+ p.setProperty("resource.ds1.deferConnectionRelease", "true");
+ p.setProperty("resource.ds1.driverProperties.userName", "java");
+ p.setProperty("resource.ds1.driverProperties.password", "java");
+ p.setProperty("resource.ds1.driverProperties.database", "users1");
+
+
+ loader.initXAResourceProducers(p);
+ Map dataSources = loader.getResources();
+
+ assertEquals(1, dataSources.size());
+ String uniqueName = (String) dataSources.keySet().iterator().next();
+ assertEquals("dataSource1", uniqueName);
+ PoolingDataSource pds = (PoolingDataSource) dataSources.get(uniqueName);
+ assertEquals("bitronix.tm.mock.resource.jdbc.MockitoXADataSource", pds.getClassName());
+ assertEquals("dataSource1", pds.getUniqueName());
+ assertEquals(123, pds.getMaxPoolSize());
+ assertEquals(3, pds.getDriverProperties().size());
+
+ }
+
+
+ public void testDecryptPassword() throws Exception {
+ ResourceLoader loader = new ResourceLoader();
+
+ Properties p = new Properties();
+ p.setProperty("resource.ds1.className", MockitoXADataSource.class.getName());
+ p.setProperty("resource.ds1.uniqueName", "dataSource10");
+ p.setProperty("resource.ds1.maxPoolSize", "123");
+ p.setProperty("resource.ds1.automaticEnlistingEnabled", "true");
+ p.setProperty("resource.ds1.useTmJoin", "false");
+ p.setProperty("resource.ds1.deferConnectionRelease", "true");
+ p.setProperty("resource.ds1.driverProperties.userName", "java");
+ p.setProperty("resource.ds1.driverProperties.password", "{DES}UcXKog312decCrwu51xGmw==");
+ p.setProperty("resource.ds1.driverProperties.database", "users1");
+
+
+ loader.initXAResourceProducers(p);
+ Map dataSources = loader.getResources();
+
+ assertEquals(1, dataSources.size());
+ String uniqueName = (String) dataSources.keySet().iterator().next();
+ assertEquals("dataSource10", uniqueName);
+ PoolingDataSource pds = (PoolingDataSource) dataSources.get(uniqueName);
+ assertEquals("bitronix.tm.mock.resource.jdbc.MockitoXADataSource", pds.getClassName());
+ assertEquals("dataSource10", pds.getUniqueName());
+ assertEquals(123, pds.getMaxPoolSize());
+ assertEquals(3, pds.getDriverProperties().size());
+ String decryptedPassword = (String) PropertyUtils.getProperty(getXADataSource(pds), "password");
+ assertEquals("java", decryptedPassword);
+ }
+
+ protected XADataSource getXADataSource(PoolingDataSource poolingDataSource) throws NoSuchFieldException, IllegalAccessException {
+ Field field = PoolingDataSource.class.getDeclaredField("xaDataSource");
+ field.setAccessible(true);
+ return (XADataSource) field.get(poolingDataSource);
+ }
+
+ public void testBindOneJms() throws Exception {
+ ResourceLoader loader = new ResourceLoader();
+
+ Properties p = new Properties();
+ p.setProperty("resource.ds1.className", MockXAConnectionFactory.class.getName());
+ p.setProperty("resource.ds1.uniqueName", "mq1");
+ p.setProperty("resource.ds1.maxPoolSize", "123");
+ p.setProperty("resource.ds1.automaticEnlistingEnabled", "true");
+ p.setProperty("resource.ds1.useTmJoin", "false");
+ p.setProperty("resource.ds1.deferConnectionRelease", "true");
+ p.setProperty("resource.ds1.driverProperties.endpoint", "tcp://somewhere");
+
+
+ loader.initXAResourceProducers(p);
+ Map dataSources = loader.getResources();
+
+ assertEquals(1, dataSources.size());
+ String uniqueName = (String) dataSources.keySet().iterator().next();
+ assertEquals("mq1", uniqueName);
+ PoolingConnectionFactory pcf = (PoolingConnectionFactory) dataSources.get(uniqueName);
+ assertEquals("bitronix.tm.mock.resource.jms.MockXAConnectionFactory", pcf.getClassName());
+ assertEquals("mq1", pcf.getUniqueName());
+ assertEquals(123, pcf.getMaxPoolSize());
+ assertEquals(1, pcf.getDriverProperties().size());
+
+ }
+
+ public void testBind2WithSomeDefaults() throws Exception {
+ ResourceLoader loader = new ResourceLoader();
+
+ Properties p = new Properties();
+ p.setProperty("resource.ds1.className", MockitoXADataSource.class.getName());
+ p.setProperty("resource.ds1.uniqueName", "dataSource2");
+ p.setProperty("resource.ds1.maxPoolSize", "123");
+ p.setProperty("resource.ds1.automaticEnlistingEnabled", "true");
+ p.setProperty("resource.ds1.useTmJoin", "false");
+ p.setProperty("resource.ds1.deferConnectionRelease", "true");
+ p.setProperty("resource.ds1.driverProperties.userName", "java");
+ p.setProperty("resource.ds1.driverProperties.password", "java");
+ p.setProperty("resource.ds1.driverProperties.database", "users1");
+
+ p.setProperty("resource.ds2.className", MockitoXADataSource.class.getName());
+ p.setProperty("resource.ds2.uniqueName", "some.unique.Name");
+ p.setProperty("resource.ds2.maxPoolSize", "123");
+
+ loader.initXAResourceProducers(p);
+ Map dataSources = loader.getResources();
+
+ assertEquals(2, dataSources.size());
+ PoolingDataSource pds = (PoolingDataSource) dataSources.get("dataSource2");
+ assertEquals("bitronix.tm.mock.resource.jdbc.MockitoXADataSource", pds.getClassName());
+ assertEquals("dataSource2", pds.getUniqueName());
+ assertEquals(123, pds.getMaxPoolSize());
+ assertEquals(3, pds.getDriverProperties().size());
+
+ pds = (PoolingDataSource) dataSources.get("some.unique.Name");
+ assertEquals("bitronix.tm.mock.resource.jdbc.MockitoXADataSource", pds.getClassName());
+ assertEquals("some.unique.Name", pds.getUniqueName());
+ assertEquals(123, pds.getMaxPoolSize());
+ assertEquals(true, pds.getDeferConnectionRelease());
+ assertEquals(true, pds.getAutomaticEnlistingEnabled());
+ assertEquals(true, pds.getUseTmJoin());
+ assertEquals(0, pds.getDriverProperties().size());
+ }
+
+ public void testConfigErrors() throws Exception {
+ ResourceLoader loader = new ResourceLoader();
+
+ try {
+ Properties p = new Properties();
+ p.setProperty("resource.ds2.className", "some.class.Name");
+
+ loader.initXAResourceProducers(p);
+ fail("should have thrown ResourceConfigurationException");
+ } catch (ResourceConfigurationException ex) {
+ assertEquals("cannot configure resource for configuration entries with name [ds2] - failing property is [className]", ex.getMessage());
+ assertEquals(ClassNotFoundException.class, ex.getCause().getClass());
+ assertEquals("some.class.Name", ex.getCause().getMessage());
+ }
+
+ try {
+ Properties p = new Properties();
+ p.setProperty("resource.ds2.className", MockitoXADataSource.class.getName());
+
+ loader.initXAResourceProducers(p);
+ fail("should have thrown ResourceConfigurationException");
+ } catch (ResourceConfigurationException ex) {
+ assertEquals("missing mandatory property [uniqueName] of resource [ds2] in resources configuration file", ex.getMessage());
+ }
+
+ try {
+ Properties p = new Properties();
+ p.setProperty("resource.ds2.jndiName", "some.jndi.Name");
+
+ loader.initXAResourceProducers(p);
+ fail("should have thrown ResourceConfigurationException");
+ } catch (ResourceConfigurationException ex) {
+ assertEquals("missing mandatory property [className] for resource [ds2] in resources configuration file", ex.getMessage());
+ }
+
+ Properties p = new Properties();
+ p.setProperty("resource.ds2.className", MockitoXADataSource.class.getName());
+ p.setProperty("resource.ds2.uniqueName", "some.other.unique.Name");
+ p.setProperty("resource.ds2.maxPoolSize", "123");
+
+ loader.initXAResourceProducers(p);
+ }
+
+ public void testFormatErrors() throws Exception {
+ ResourceLoader loader = new ResourceLoader();
+
+ Properties p = new Properties();
+ p.setProperty("resource.ds2.className", MockitoXADataSource.class.getName());
+ p.setProperty("resource.ds2.uniqueName", "some.more.unique.Name");
+ p.setProperty("resource.ds2.maxPoolSize", "abc"); // incorrect format
+
+ try {
+ loader.initXAResourceProducers(p);
+ fail("expected ResourceConfigurationException");
+ } catch (ResourceConfigurationException ex) {
+ assertEquals("cannot configure resource for configuration entries with name [ds2] - failing property is [maxPoolSize]", ex.getMessage());
+ }
+
+ p.setProperty("resource.ds2.className", MockitoXADataSource.class.getName());
+ p.setProperty("resource.ds2.uniqueName", "some.also.other.unique.Name");
+ p.setProperty("resource.ds2.maxPoolSize", "123");
+ p.setProperty("resource.ds2.useTmJoin", "unknown"); // incorrect format, will default to false
+ loader.initXAResourceProducers(p);
+
+
+ PoolingDataSource pds = (PoolingDataSource) loader.getResources().get("some.also.other.unique.Name");
+ assertFalse(pds.getUseTmJoin());
+ }
+}
diff --git a/test/bitronix/tm/resource/common/AbstractXAResourceHolderTest.java b/test/bitronix/tm/resource/common/AbstractXAResourceHolderTest.java
new file mode 100644
index 0000000..2289183
--- /dev/null
+++ b/test/bitronix/tm/resource/common/AbstractXAResourceHolderTest.java
@@ -0,0 +1,92 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.common;
+
+import bitronix.tm.internal.XAResourceHolderState;
+import bitronix.tm.utils.Uid;
+import bitronix.tm.utils.UidGenerator;
+import junit.framework.TestCase;
+
+import javax.transaction.xa.XAResource;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+/**
+ *
+ * @author lorban
+ */
+public class AbstractXAResourceHolderTest extends TestCase {
+
+ public void testStatesForGtridIterationOrder() throws Exception {
+ final ResourceBean resourceBean = new ResourceBean() {
+ };
+
+ AbstractXAResourceHolder xaResourceHolder = new AbstractXAResourceHolder() {
+ public XAResource getXAResource() {
+ return null;
+ }
+
+ public ResourceBean getResourceBean() {
+ return resourceBean;
+ }
+
+ public List getXAResourceHolders() {
+ return null;
+ }
+
+ public Object getConnectionHandle() throws Exception {
+ return null;
+ }
+
+ public void close() throws Exception {
+ }
+
+ public Date getLastReleaseDate() {
+ return null;
+ }
+ };
+
+ Uid gtrid = UidGenerator.generateUid();
+
+ XAResourceHolderState state1 = new XAResourceHolderState(xaResourceHolder, resourceBean);
+ XAResourceHolderState state2 = new XAResourceHolderState(xaResourceHolder, resourceBean);
+ XAResourceHolderState state3 = new XAResourceHolderState(xaResourceHolder, resourceBean);
+
+ xaResourceHolder.putXAResourceHolderState(UidGenerator.generateXid(gtrid), state1);
+ xaResourceHolder.putXAResourceHolderState(UidGenerator.generateXid(gtrid), state2);
+ xaResourceHolder.putXAResourceHolderState(UidGenerator.generateXid(gtrid), state3);
+
+
+ Map statesForGtrid = xaResourceHolder.getXAResourceHolderStatesForGtrid(gtrid);
+ Iterator statesForGtridIt = statesForGtrid.values().iterator();
+
+
+ assertTrue(statesForGtridIt.hasNext());
+ assertSame(state1, statesForGtridIt.next());
+ assertTrue(statesForGtridIt.hasNext());
+ assertSame(state2, statesForGtridIt.next());
+ assertTrue(statesForGtridIt.hasNext());
+ assertSame(state3, statesForGtridIt.next());
+ assertFalse(statesForGtridIt.hasNext());
+ }
+}
diff --git a/test/bitronix/tm/resource/common/XAPoolTest.java b/test/bitronix/tm/resource/common/XAPoolTest.java
new file mode 100644
index 0000000..86aafb0
--- /dev/null
+++ b/test/bitronix/tm/resource/common/XAPoolTest.java
@@ -0,0 +1,67 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.resource.common;
+
+import junit.framework.TestCase;
+import bitronix.tm.*;
+import bitronix.tm.mock.resource.jdbc.MockitoXADataSource;
+import bitronix.tm.resource.jdbc.PoolingDataSource;
+import bitronix.tm.utils.CryptoEngine;
+
+/**
+ *
+ * @author lorban
+ */
+public class XAPoolTest extends TestCase {
+
+ public void testBuildXAFactory() throws Exception {
+ ResourceBean rb = new ResourceBean() {};
+
+ rb.setMaxPoolSize(1);
+ rb.setClassName(MockitoXADataSource.class.getName());
+ rb.getDriverProperties().setProperty("userName", "java");
+ rb.getDriverProperties().setProperty("password", "{DES}" + CryptoEngine.crypt("DES", "java"));
+
+ XAPool xaPool = new XAPool(null, rb);
+ assertEquals(0, xaPool.totalPoolSize());
+ assertEquals(0, xaPool.inPoolSize());
+
+ MockitoXADataSource xads = (MockitoXADataSource) xaPool.getXAFactory();
+ assertEquals("java", xads.getUserName());
+ assertEquals("java", xads.getPassword());
+ }
+
+ public void testNoRestartOfTaskSchedulerDuringClose() throws Exception {
+ PoolingDataSource pds = new PoolingDataSource();
+ pds.setClassName(MockitoXADataSource.class.getName());
+ pds.setMaxPoolSize(1);
+ pds.setUniqueName("mock");
+ pds.init();
+
+ BitronixTransactionManager btm = TransactionManagerServices.getTransactionManager();
+ btm.shutdown();
+
+ pds.close();
+
+ assertFalse(TransactionManagerServices.isTaskSchedulerRunning());
+ }
+
+}
\ No newline at end of file
diff --git a/test/bitronix/tm/timer/TaskSchedulerTest.java b/test/bitronix/tm/timer/TaskSchedulerTest.java
new file mode 100644
index 0000000..6958d53
--- /dev/null
+++ b/test/bitronix/tm/timer/TaskSchedulerTest.java
@@ -0,0 +1,54 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.timer;
+
+import bitronix.tm.recovery.Recoverer;
+import junit.framework.TestCase;
+
+import java.util.Date;
+
+
+/**
+ *
+ * @author lorban
+ */
+public class TaskSchedulerTest extends TestCase {
+
+ public void testRecoveryTask() throws Exception {
+ TaskScheduler ts = new TaskScheduler();
+ ts.start();
+
+ Recoverer recoverer = new Recoverer();
+ ts.scheduleRecovery(recoverer, new Date());
+ assertEquals(1, ts.countTasksQueued());
+ Thread.sleep(1100);
+ assertEquals(1, ts.countTasksQueued());
+
+ ts.cancelRecovery(recoverer);
+ assertEquals(0, ts.countTasksQueued());
+ Thread.sleep(1100);
+ assertEquals(0, ts.countTasksQueued());
+
+ ts.setActive(false);
+ ts.join();
+ }
+
+}
diff --git a/test/bitronix/tm/twopc/Phase1FailureTest.java b/test/bitronix/tm/twopc/Phase1FailureTest.java
new file mode 100644
index 0000000..70d98e7
--- /dev/null
+++ b/test/bitronix/tm/twopc/Phase1FailureTest.java
@@ -0,0 +1,339 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.twopc;
+
+import java.lang.reflect.*;
+import java.sql.Connection;
+import java.util.List;
+
+import javax.sql.XAConnection;
+import javax.transaction.*;
+import javax.transaction.xa.XAException;
+
+import junit.framework.TestCase;
+import bitronix.tm.*;
+import bitronix.tm.mock.AbstractMockJdbcTest;
+import bitronix.tm.mock.events.*;
+import bitronix.tm.mock.resource.*;
+import bitronix.tm.mock.resource.jdbc.*;
+import bitronix.tm.resource.jdbc.*;
+import bitronix.tm.resource.jdbc.lrc.LrcXADataSource;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ *
+ * @author lorban
+ */
+public class Phase1FailureTest extends TestCase {
+ private final static Logger log = LoggerFactory.getLogger(Phase1FailureTest.class);
+
+
+ private PoolingDataSource poolingDataSource1;
+ private PoolingDataSource poolingDataSource2;
+ private PoolingDataSource poolingDataSource3;
+ private PoolingDataSource poolingDataSourceLrc;
+ private BitronixTransactionManager tm;
+
+ /**
+ * Test scenario:
+ *
+ * XAResources: 2
+ * TX timeout: 10s
+ * TX resolution: rollback
+ *
+ * XAResource 1 resolution: rollback throws exception XAException.XAER_INVAL, exception fixed after 2s
+ * XAResource 2 resolution: prepare throws exception XAException.XAER_RMERR
+ *
+ * Expected outcome:
+ * TM fails on resource 2 prepare and throws RollbackException. On call to rollback, resource 2 fails to rollback
+ * and is retried twice (once per second) then rollback should succeed.
+ * Expected TM events:
+ * 2 XAResourcePrepareEvent, 1 XAResourceRollbackEvent
+ * Expected journal events:
+ * ACTIVE, PREPARING, UNKNOWN, ROLLING_BACK, UNKNOWN
+ * @throws Exception if any error happens.
+ */
+ public void testPrepareFailureRollbackFailure() throws Exception {
+ tm.begin();
+ tm.setTransactionTimeout(10); // TX must not timeout
+
+ Connection connection1 = poolingDataSource1.getConnection();
+ JdbcConnectionHandle handle = (JdbcConnectionHandle) Proxy.getInvocationHandler(connection1);
+ XAConnection xaConnection1 = (XAConnection) AbstractMockJdbcTest.getWrappedXAConnectionOf(handle.getPooledConnection());
+ connection1.createStatement();
+
+ Connection connection2 = poolingDataSource2.getConnection();
+ JdbcConnectionHandle handle2 = (JdbcConnectionHandle) Proxy.getInvocationHandler(connection2);
+ XAConnection xaConnection2 = (XAConnection) AbstractMockJdbcTest.getWrappedXAConnectionOf(handle2.getPooledConnection());
+ connection2.createStatement();
+
+ final MockXAResource mockXAResource1 = (MockXAResource) xaConnection1.getXAResource();
+ mockXAResource1.setRollbackException(createXAException("resource 1 rollback failed", XAException.XAER_INVAL));
+
+ MockXAResource mockXAResource2 = (MockXAResource) xaConnection2.getXAResource();
+ mockXAResource2.setPrepareException(createXAException("resource 2 prepare failed", XAException.XAER_RMERR));
+
+ try {
+ tm.commit();
+ fail("TM should have thrown an exception");
+ } catch (RollbackException ex) {
+ assertTrue(ex.getMessage().matches("transaction failed to prepare: a Bitronix Transaction with GTRID \\[.*\\], status=ROLLEDBACK, 2 resource\\(s\\) enlisted .*"));
+ assertEquals("collected 1 exception(s):" + System.getProperty("line.separator") +
+ " [pds2 - javax.transaction.xa.XAException(XAER_RMERR) - resource 2 prepare failed]", ex.getCause().getCause().getMessage());
+ }
+
+ log.info(EventRecorder.dumpToString());
+
+ // we should find in the journal log:
+ // 2 prepare tries (1 successful for resource 1, 1 failed for resource 2)
+ // 2 rollback tries (1 failed for resource 1, 1 successful for resource 2)
+ // the rollabck error on resource 1 should not be reported to the code as it is the job
+ // of the recovery engine to clean it up and eventually report the heuristic
+ int journalUnknownEventCount = 0;
+ int prepareEventCount = 0;
+ int rollbackEventCount = 0;
+ List events = EventRecorder.getOrderedEvents();
+ for (int i = 0; i < events.size(); i++) {
+ Event event = (Event) events.get(i);
+
+ if (event instanceof XAResourceRollbackEvent)
+ rollbackEventCount++;
+
+ if (event instanceof XAResourcePrepareEvent)
+ prepareEventCount++;
+
+ if (event instanceof JournalLogEvent) {
+ if (((JournalLogEvent) event).getStatus() == Status.STATUS_UNKNOWN)
+ journalUnknownEventCount++;
+ }
+ }
+ assertEquals("TM should have journaled 0 UNKNOWN status", 0, journalUnknownEventCount);
+ assertEquals("TM haven't properly tried to prepare", 2, prepareEventCount);
+ assertEquals("TM haven't properly tried to rollback", 2, rollbackEventCount);
+ }
+
+ /**
+ * Test scenario:
+ *
+ * XAResources: 3
+ * TX timeout: 10s
+ * TX resolution: rollback
+ *
+ * @throws Exception if any error happens.
+ */
+ public void testPrepareFailure() throws Exception {
+ tm.begin();
+ tm.setTransactionTimeout(10); // TX must not timeout
+
+ Connection connection1 = poolingDataSource1.getConnection();
+ connection1.createStatement();
+
+ Connection connection2 = poolingDataSource2.getConnection();
+ JdbcConnectionHandle handle = (JdbcConnectionHandle) Proxy.getInvocationHandler(connection2);
+ XAConnection xaConnection2 = (XAConnection) AbstractMockJdbcTest.getWrappedXAConnectionOf(handle.getPooledConnection());
+ connection2.createStatement();
+
+ Connection connection3 = poolingDataSource2.getConnection();
+ connection3.createStatement();
+
+ MockXAResource mockXAResource2 = (MockXAResource) xaConnection2.getXAResource();
+ mockXAResource2.setPrepareException(createXAException("resource 2 prepare failed", XAException.XAER_RMERR));
+
+ try {
+ tm.commit();
+ fail("TM should have thrown an exception");
+ } catch (RollbackException ex) {
+ assertTrue(ex.getMessage().matches("transaction failed to prepare: a Bitronix Transaction with GTRID (.*?) status=ROLLEDBACK, 3 resource\\(s\\) enlisted (.*?)"));
+
+ assertTrue(ex.getCause().getMessage().matches("transaction failed during prepare of a Bitronix Transaction with GTRID (.*?), status=PREPARING, 3 resource\\(s\\) enlisted (.*?): resource\\(s\\) \\[pds2\\] threw unexpected exception"));
+
+ assertEquals("collected 1 exception(s):" + System.getProperty("line.separator") +
+ " [pds2 - javax.transaction.xa.XAException(XAER_RMERR) - resource 2 prepare failed]", ex.getCause().getCause().getMessage());
+ }
+
+ log.info(EventRecorder.dumpToString());
+
+ // we should find a ROLLEDBACK status in the journal log
+ // and 3 prepare tries (1 successful for resources 1 and 3, 1 failed for resource 2)
+ // and 3 rollback tries (1 successful for each resource)
+ int journalRollbackEventCount = 0;
+ int prepareEventCount = 0;
+ int rollbackEventCount = 0;
+ List events = EventRecorder.getOrderedEvents();
+ for (int i = 0; i < events.size(); i++) {
+ Event event = (Event) events.get(i);
+
+ if (event instanceof XAResourceRollbackEvent)
+ rollbackEventCount++;
+
+ if (event instanceof XAResourcePrepareEvent)
+ prepareEventCount++;
+
+ if (event instanceof JournalLogEvent) {
+ if (((JournalLogEvent) event).getStatus() == Status.STATUS_ROLLEDBACK)
+ journalRollbackEventCount++;
+ }
+ }
+ assertEquals("TM should have journaled 1 ROLLEDBACK status", 1, journalRollbackEventCount);
+ assertEquals("TM haven't properly tried to prepare", 3, prepareEventCount);
+ assertEquals("TM haven't properly tried to rollback", 3, rollbackEventCount);
+ }
+
+ /**
+ * Test scenario:
+ *
+ * XAResources: 2
+ * TX timeout: 10s
+ * TX resolution: rollback
+ * XAResource 1 resolution: prepare throws exception XAException.XAER_RMERR
+ * XAResource 2 resolution: it's an LRCXaResource and prepare does not happen on this resource.
+ *
+ * Expected outcome:
+ * TM fails on resource 1 prepare and throws RollbackException. Prepare must not happen on resource 2.
+ * On call to rollback, the two resource rollback should succeed.
+ * Expected TM events:
+ * 1 XAResourcePrepareEvent, 1 XAResourceRollbackEvent
+ * Expected journal events:
+ * ACTIVE, MARKED_ROLLBACK, ROLLING_BACK, ROLLEDBACK
+ * @throws Exception if any error happens.
+ */
+ public void testPrepareLrcFailure() throws Exception {
+ tm.begin();
+ tm.setTransactionTimeout(10); // TX must not timeout
+
+ Connection connection1 = poolingDataSource1.getConnection();
+ JdbcConnectionHandle handle = (JdbcConnectionHandle) Proxy.getInvocationHandler(connection1);
+ XAConnection xaConnection1 = (XAConnection) AbstractMockJdbcTest.getWrappedXAConnectionOf(handle.getPooledConnection());
+ connection1.createStatement();
+
+ Connection connection2 = poolingDataSourceLrc.getConnection();
+ connection2.createStatement();
+
+ MockXAResource mockXAResource1 = (MockXAResource) xaConnection1.getXAResource();
+ mockXAResource1.setPrepareException(createXAException("resource 1 prepare failed", XAException.XAER_RMERR));
+
+ try {
+ tm.commit();
+ fail("TM should have thrown an exception");
+ } catch (RollbackException ex) {
+ assertTrue(ex.getMessage().matches("transaction failed to prepare: a Bitronix Transaction with GTRID (.*?) status=ROLLEDBACK, 2 resource\\(s\\) enlisted (.*?)"));
+
+ assertTrue(ex.getCause().getMessage().matches("transaction failed during prepare of a Bitronix Transaction with GTRID (.*?), status=PREPARING, 2 resource\\(s\\) enlisted (.*?): resource\\(s\\) \\[pds1\\] threw unexpected exception"));
+
+ assertEquals("collected 1 exception(s):" + System.getProperty("line.separator") +
+ " [pds1 - javax.transaction.xa.XAException(XAER_RMERR) - resource 1 prepare failed]", ex.getCause().getCause().getMessage());
+ }
+
+ log.info(EventRecorder.dumpToString());
+
+ // we should find a ROLLEDBACK status in the journal log
+ // and 1 prepare tries (1 failed for resource 1)
+ // and 2 rollback tries (1 rollback and 1 localRollback)
+ int journalRollbackEventCount = 0;
+ int prepareEventCount = 0;
+ int rollbackEventCount = 0;
+ int localRollbackEventCount = 0;
+ List events = EventRecorder.getOrderedEvents();
+ for (int i = 0; i < events.size(); i++) {
+ Event event = (Event) events.get(i);
+
+ if (event instanceof XAResourceRollbackEvent)
+ rollbackEventCount++;
+
+ if (event instanceof XAResourcePrepareEvent)
+ prepareEventCount++;
+
+ if (event instanceof LocalRollbackEvent)
+ localRollbackEventCount++;
+
+ if (event instanceof JournalLogEvent) {
+ if (((JournalLogEvent) event).getStatus() == Status.STATUS_ROLLEDBACK)
+ journalRollbackEventCount++;
+ }
+ }
+ assertEquals("TM should have journaled 1 ROLLEDBACK status", 1, journalRollbackEventCount);
+ assertEquals("TM haven't properly tried to prepare", 1, prepareEventCount);
+ assertEquals("TM haven't properly tried to rollback", 1, rollbackEventCount);
+ assertEquals("TM haven't properly tried to rollback", 1, localRollbackEventCount);
+ }
+
+ protected void setUp() throws Exception {
+ EventRecorder.clear();
+
+ // change disk journal into mock journal
+ Field field = TransactionManagerServices.class.getDeclaredField("journal");
+ field.setAccessible(true);
+ field.set(TransactionManagerServices.class, new MockJournal());
+
+ poolingDataSource1 = new PoolingDataSource();
+ poolingDataSource1.setClassName(MockitoXADataSource.class.getName());
+ poolingDataSource1.setUniqueName("pds1");
+ poolingDataSource1.setMinPoolSize(5);
+ poolingDataSource1.setMaxPoolSize(5);
+ poolingDataSource1.setAutomaticEnlistingEnabled(true);
+ poolingDataSource1.init();
+
+ poolingDataSource2 = new PoolingDataSource();
+ poolingDataSource2.setClassName(MockitoXADataSource.class.getName());
+ poolingDataSource2.setUniqueName("pds2");
+ poolingDataSource2.setMinPoolSize(5);
+ poolingDataSource2.setMaxPoolSize(5);
+ poolingDataSource2.setAutomaticEnlistingEnabled(true);
+ poolingDataSource2.init();
+
+ poolingDataSource3 = new PoolingDataSource();
+ poolingDataSource3.setClassName(MockitoXADataSource.class.getName());
+ poolingDataSource3.setUniqueName("pds3");
+ poolingDataSource3.setMinPoolSize(5);
+ poolingDataSource3.setMaxPoolSize(5);
+ poolingDataSource3.setAutomaticEnlistingEnabled(true);
+ poolingDataSource3.init();
+
+ poolingDataSourceLrc = new PoolingDataSource();
+ poolingDataSourceLrc.setClassName(LrcXADataSource.class.getName());
+ poolingDataSourceLrc.setUniqueName("pds4_lrc");
+ poolingDataSourceLrc.setMinPoolSize(5);
+ poolingDataSourceLrc.setMaxPoolSize(5);
+ poolingDataSourceLrc.setAllowLocalTransactions(true);
+ poolingDataSourceLrc.getDriverProperties().setProperty("driverClassName", MockDriver.class.getName());
+ poolingDataSourceLrc.getDriverProperties().setProperty("user", "user");
+ poolingDataSourceLrc.getDriverProperties().setProperty("password", "password");
+ poolingDataSourceLrc.init();
+
+ tm = TransactionManagerServices.getTransactionManager();
+ }
+
+ protected void tearDown() throws Exception {
+ poolingDataSource1.close();
+ poolingDataSource2.close();
+ poolingDataSource3.close();
+ poolingDataSourceLrc.close();
+ tm.shutdown();
+ }
+
+ private XAException createXAException(String msg, int errorCode) {
+ XAException prepareException = new XAException(msg);
+ prepareException.errorCode = errorCode;
+ return prepareException;
+ }
+
+}
diff --git a/test/bitronix/tm/twopc/Phase2FailureTest.java b/test/bitronix/tm/twopc/Phase2FailureTest.java
new file mode 100644
index 0000000..c9e44a7
--- /dev/null
+++ b/test/bitronix/tm/twopc/Phase2FailureTest.java
@@ -0,0 +1,295 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.twopc;
+
+import java.lang.reflect.*;
+import java.sql.Connection;
+import java.util.*;
+
+import javax.sql.XAConnection;
+import javax.transaction.*;
+import javax.transaction.xa.XAException;
+
+import junit.framework.TestCase;
+import bitronix.tm.*;
+import bitronix.tm.mock.AbstractMockJdbcTest;
+import bitronix.tm.mock.events.*;
+import bitronix.tm.mock.resource.*;
+import bitronix.tm.mock.resource.jdbc.*;
+import bitronix.tm.resource.ResourceRegistrar;
+import bitronix.tm.resource.jdbc.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ *
+ * @author lorban
+ */
+public class Phase2FailureTest extends TestCase {
+
+ private final static Logger log = LoggerFactory.getLogger(Phase2FailureTest.class);
+
+ private PoolingDataSource poolingDataSource1;
+ private PoolingDataSource poolingDataSource2;
+ private BitronixTransactionManager tm;
+
+ /**
+ * Test scenario:
+ *
+ * XAResources: 2
+ * TX timeout: 10s
+ * TX resolution: heuristic mixed
+ *
+ * XAResource 1 resolution: successful
+ * XAResource 2 resolution: commit throws exception XAException.XAER_RMERR
+ *
+ * Expected outcome:
+ * TM fails on resource 2 commit but does not report that via an exception
+ * as the recoverer will clean that up
+ * Expected TM events:
+ * 2 XAResourcePrepareEvent, 2 XAResourceCommitEvent
+ * Expected journal events:
+ * ACTIVE, PREPARING, PREPARED, COMMITTING, COMMITTED
+ * @throws Exception if any error happens.
+ */
+ public void testExpectNoHeuristic() throws Exception {
+ tm.begin();
+ tm.setTransactionTimeout(10); // TX must not timeout
+
+ Connection connection1 = poolingDataSource1.getConnection();
+ connection1.createStatement();
+
+ Connection connection2 = poolingDataSource2.getConnection();
+ JdbcConnectionHandle handle = (JdbcConnectionHandle) Proxy.getInvocationHandler(connection1);
+ XAConnection xaConnection2 = (XAConnection) AbstractMockJdbcTest.getWrappedXAConnectionOf(handle.getPooledConnection());
+ connection2.createStatement();
+
+ final MockXAResource mockXAResource2 = (MockXAResource) xaConnection2.getXAResource();
+ mockXAResource2.setCommitException(createXAException("resource 2 commit failed with XAER_RMERR", XAException.XAER_RMERR));
+
+ tm.commit();
+
+ log.info(EventRecorder.dumpToString());
+
+ int journalUnknownEventCount = 0;
+ int journalCommittingEventCount = 0;
+ int journalCommittedEventCount = 0;
+ int commitEventCount = 0;
+ List events = EventRecorder.getOrderedEvents();
+ for (int i = 0; i < events.size(); i++) {
+ Event event = (Event) events.get(i);
+
+ if (event instanceof XAResourceCommitEvent)
+ commitEventCount++;
+
+ if (event instanceof JournalLogEvent) {
+ if (((JournalLogEvent) event).getStatus() == Status.STATUS_UNKNOWN)
+ journalUnknownEventCount++;
+ }
+
+ if (event instanceof JournalLogEvent) {
+ if (((JournalLogEvent) event).getStatus() == Status.STATUS_COMMITTING)
+ journalCommittingEventCount++;
+ }
+
+ if (event instanceof JournalLogEvent) {
+ if (((JournalLogEvent) event).getStatus() == Status.STATUS_COMMITTED)
+ journalCommittedEventCount++;
+ }
+ }
+ assertEquals("TM should have logged a COMMITTING status", 1, journalCommittingEventCount);
+ assertEquals("TM should have logged a COMMITTED status", 1, journalCommittedEventCount);
+ assertEquals("TM should not have logged ant UNKNOWN status", 0, journalUnknownEventCount);
+ assertEquals("TM haven't properly tried to commit", 2, commitEventCount);
+ }
+
+ /**
+ * Test scenario:
+ *
+ * XAResources: 2
+ * TX timeout: 1s
+ * TX resolution: commit
+ *
+ * XAResource 1 resolution: successful
+ * XAResource 2 resolution: commit throws exception XAException.XA_HEURCOM
+ *
+ * Expected outcome:
+ * TM fails on resource 2 commit because of heuristic commit. Since the decision is compatible
+ * with the TX outcome, the XID is forgotten on the resource and the TX should succeed.
+ * Expected TM events:
+ * 2 XAResourcePrepareEvent, 2 XAResourceCommitEvent, 1 XAResourceForgetEvent
+ * Expected journal events:
+ * ACTIVE, PREPARING, PREPARED, COMMITTING, COMMITTED
+ * @throws Exception if any error happens.
+ */
+ public void testHeuristicCommit() throws Exception {
+ tm.begin();
+ tm.setTransactionTimeout(1); // TX timeout should have no effect here
+
+ Connection connection1 = poolingDataSource1.getConnection();
+ connection1.createStatement();
+ Connection connection2 = poolingDataSource2.getConnection();
+ JdbcConnectionHandle handle = (JdbcConnectionHandle) Proxy.getInvocationHandler(connection2);
+ XAConnection xaConnection2 = (XAConnection) AbstractMockJdbcTest.getWrappedXAConnectionOf(handle.getPooledConnection());
+ connection2.createStatement();
+
+ final MockXAResource mockXAResource2 = (MockXAResource) xaConnection2.getXAResource();
+ mockXAResource2.setCommitException(createXAException("resource 2 commit failed with XA_HEURCOM", XAException.XA_HEURCOM));
+
+ tm.commit();
+
+ log.info(EventRecorder.dumpToString());
+
+ // we should find a COMMITTED status in the journal log
+ // 2 commit tries and 1 forget
+ int journalCommittedEventCount = 0;
+ int commitEventCount = 0;
+ int forgetEventCount = 0;
+ List events = EventRecorder.getOrderedEvents();
+ for (int i = 0; i < events.size(); i++) {
+ Event event = (Event) events.get(i);
+
+ if (event instanceof XAResourceCommitEvent)
+ commitEventCount++;
+
+ if (event instanceof XAResourceForgetEvent)
+ forgetEventCount++;
+
+ if (event instanceof JournalLogEvent) {
+ if (((JournalLogEvent) event).getStatus() == Status.STATUS_COMMITTED)
+ journalCommittedEventCount++;
+ }
+ }
+ assertEquals("TM should have logged a COMMITTED status", 1, journalCommittedEventCount);
+ assertEquals("TM haven't properly tried to commit", 2, commitEventCount);
+ assertEquals("TM haven't properly tried to forget", 1, forgetEventCount);
+ }
+
+ /**
+ * Test scenario:
+ *
+ * XAResources: 2
+ * TX timeout: 1s
+ * TX resolution: commit
+ *
+ * XAResource 1 resolution: successful
+ * XAResource 2 resolution: commit throws exception XAException.XA_HEURRB
+ *
+ * Expected outcome:
+ * TM fails on resource 2 commit because of heuristic rollback. Since the decision is not compatible
+ * with the TX outcome, the TX should fail.
+ * Expected TM events:
+ * 2 XAResourcePrepareEvent, 2 XAResourceCommitEvent
+ * Expected journal events:
+ * ACTIVE, PREPARING, PREPARED, COMMITTING, COMMITTED
+ * @throws Exception if any error happens.
+ */
+ public void testHeuristicMixed() throws Exception {
+ tm.begin();
+ tm.setTransactionTimeout(1); // TX timeout should have no effect here
+
+ Connection connection1 = poolingDataSource1.getConnection();
+ connection1.createStatement();
+ Connection connection2 = poolingDataSource2.getConnection();
+ JdbcConnectionHandle handle = (JdbcConnectionHandle) Proxy.getInvocationHandler(connection2);
+ XAConnection xaConnection2 = (XAConnection) AbstractMockJdbcTest.getWrappedXAConnectionOf(handle.getPooledConnection());
+ connection2.createStatement();
+
+ final MockXAResource mockXAResource2 = (MockXAResource) xaConnection2.getXAResource();
+ mockXAResource2.setCommitException(createXAException("resource 2 commit failed with XA_HEURRB", XAException.XA_HEURRB));
+
+ try {
+ tm.commit();
+ fail("TM should have thrown HeuristicMixedException");
+ } catch (HeuristicMixedException ex) {
+ assertEquals("transaction failed during commit of a Bitronix Transaction with GTRID [", ex.getMessage().substring(0, 71));
+ int idx = ex.getMessage().indexOf(']');
+ assertEquals("], status=UNKNOWN, 2 resource(s) enlisted (started ", ex.getMessage().substring(idx, idx + 51));
+ assertTrue("got message <" + ex.getMessage() + ">", ex.getMessage().endsWith("resource(s) [pds2] improperly unilaterally rolled back"));
+ }
+
+ log.info(EventRecorder.dumpToString());
+
+ int journalUnknownEventCount = 0;
+ int commitEventCount = 0;
+ List events = EventRecorder.getOrderedEvents();
+ for (int i = 0; i < events.size(); i++) {
+ Event event = (Event) events.get(i);
+
+ if (event instanceof XAResourceCommitEvent)
+ commitEventCount++;
+
+ if (event instanceof JournalLogEvent) {
+ if (((JournalLogEvent) event).getStatus() == Status.STATUS_UNKNOWN)
+ journalUnknownEventCount++;
+ }
+ }
+ assertEquals("TM should have logged a UNKNOWN status", 1, journalUnknownEventCount);
+ assertEquals("TM haven't properly tried to commit", 2, commitEventCount);
+ }
+
+ protected void setUp() throws Exception {
+ Iterator it = ResourceRegistrar.getResourcesUniqueNames().iterator();
+ while (it.hasNext()) {
+ String name = (String) it.next();
+ ResourceRegistrar.unregister(ResourceRegistrar.get(name));
+ }
+
+ EventRecorder.clear();
+
+ // change disk journal into mock journal
+ Field field = TransactionManagerServices.class.getDeclaredField("journal");
+ field.setAccessible(true);
+ field.set(TransactionManagerServices.class, new MockJournal());
+
+
+ poolingDataSource1 = new PoolingDataSource();
+ poolingDataSource1.setClassName(MockitoXADataSource.class.getName());
+ poolingDataSource1.setUniqueName("pds1");
+ poolingDataSource1.setMinPoolSize(5);
+ poolingDataSource1.setMaxPoolSize(5);
+ poolingDataSource1.setAutomaticEnlistingEnabled(true);
+ poolingDataSource1.init();
+
+ poolingDataSource2 = new PoolingDataSource();
+ poolingDataSource2.setClassName(MockitoXADataSource.class.getName());
+ poolingDataSource2.setUniqueName("pds2");
+ poolingDataSource2.setMinPoolSize(5);
+ poolingDataSource2.setMaxPoolSize(5);
+ poolingDataSource2.setAutomaticEnlistingEnabled(true);
+ poolingDataSource2.init();
+
+ tm = TransactionManagerServices.getTransactionManager();
+ }
+
+ protected void tearDown() throws Exception {
+ poolingDataSource1.close();
+ poolingDataSource2.close();
+ tm.shutdown();
+ }
+
+ private XAException createXAException(String msg, int errorCode) {
+ XAException prepareException = new XAException(msg);
+ prepareException.errorCode = errorCode;
+ return prepareException;
+ }
+
+}
diff --git a/test/bitronix/tm/utils/CryptoEngineTest.java b/test/bitronix/tm/utils/CryptoEngineTest.java
new file mode 100644
index 0000000..04de7ad
--- /dev/null
+++ b/test/bitronix/tm/utils/CryptoEngineTest.java
@@ -0,0 +1,40 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.utils;
+
+import junit.framework.TestCase;
+
+/**
+ *
+ * @author lorban
+ */
+public class CryptoEngineTest extends TestCase {
+
+ public void testCrypt() throws Exception {
+ String textToCrypt = "java";
+
+ String cypherText = CryptoEngine.crypt("DES", textToCrypt);
+ String decryptedText = CryptoEngine.decrypt("DES", cypherText);
+
+ assertEquals(textToCrypt, decryptedText);
+ }
+
+}
diff --git a/test/bitronix/tm/utils/EncoderTest.java b/test/bitronix/tm/utils/EncoderTest.java
new file mode 100644
index 0000000..a87cc9d
--- /dev/null
+++ b/test/bitronix/tm/utils/EncoderTest.java
@@ -0,0 +1,65 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.utils;
+
+import junit.framework.TestCase;
+
+/**
+ *
+ * @author lorban
+ */
+public class EncoderTest extends TestCase {
+
+ public void testLongEncodingDecoding() {
+ byte[] longAsBytes;
+ long result;
+
+ longAsBytes = Encoder.longToBytes(Long.MAX_VALUE);
+ result = Encoder.bytesToLong(longAsBytes, 0);
+ assertEquals(Long.MAX_VALUE, result);
+
+ longAsBytes = Encoder.longToBytes(Long.MIN_VALUE);
+ result = Encoder.bytesToLong(longAsBytes, 0);
+ assertEquals(Long.MIN_VALUE, result);
+
+ longAsBytes = Encoder.longToBytes(-1L);
+ result = Encoder.bytesToLong(longAsBytes, 0);
+ assertEquals(-1L, result);
+
+ long timestamp = System.currentTimeMillis();
+ longAsBytes = Encoder.longToBytes(timestamp);
+ result = Encoder.bytesToLong(longAsBytes, 0);
+ assertEquals(timestamp, result);
+
+ byte[] intAsBytes = Encoder.intToBytes(-1);
+ int resultAsInt = Encoder.bytesToInt(intAsBytes, 0);
+ assertEquals(-1, resultAsInt);
+
+
+ try {
+ Encoder.bytesToLong(new byte[4], 0);
+ fail("expected IllegalArgumentException");
+ } catch (IllegalArgumentException ex) {
+ assertEquals("a long can only be decoded from 8 bytes of an array (got a 4 byte(s) array, must start at position 0)", ex.getMessage());
+ }
+ }
+
+}
diff --git a/test/bitronix/tm/utils/PropertyUtilsTest.java b/test/bitronix/tm/utils/PropertyUtilsTest.java
new file mode 100644
index 0000000..ebd8c09
--- /dev/null
+++ b/test/bitronix/tm/utils/PropertyUtilsTest.java
@@ -0,0 +1,260 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.utils;
+
+import junit.framework.TestCase;
+
+import java.util.Properties;
+import java.util.Map;
+
+/**
+ *
+ * @author lorban
+ */
+public class PropertyUtilsTest extends TestCase {
+
+ public void testSetProperties() throws Exception {
+ Destination destination = new Destination();
+
+ PropertyUtils.setProperty(destination, "props.key", "value");
+ assertEquals("value", destination.getProps().getProperty("key"));
+ PropertyUtils.setProperty(destination, "subDestination.props.key", "value");
+ assertEquals("value", destination.getSubDestination().getProps().getProperty("key"));
+ PropertyUtils.setProperty(destination, "anInteger", "10");
+ assertEquals(10, destination.getAnInteger());
+ PropertyUtils.setProperty(destination, "subDestination.anInteger", "20");
+ assertEquals(20, destination.getSubDestination().getAnInteger());
+ PropertyUtils.setProperty(destination, "aBoolean", "true");
+ assertEquals(true, destination.isABoolean());
+ PropertyUtils.setProperty(destination, "aWriteOnlyInt", "20");
+
+ PrivateDestination privateDestination = new PrivateDestination();
+ try {
+ PropertyUtils.setProperty(privateDestination, "subDestination.props.key", "value");
+ fail("it is not possible to set the 'subDestination' property, PropertyException should have been thrown");
+ } catch (PropertyException ex) {
+ assertEquals("cannot set property 'subDestination.props.key' - 'subDestination' is null and cannot be auto-filled", ex.getMessage());
+ }
+ }
+
+ public void testSetPropertiesObjectLongKey() throws Exception {
+ PrivateDestination destination = new PrivateDestination();
+
+ PropertyUtils.setProperty(destination, "props.key", "value1");
+ PropertyUtils.setProperty(destination, "props.a.dotted.key", "value2");
+
+ assertEquals("value1", destination.getProps().get("key"));
+ assertEquals("value2", destination.getProps().get("a.dotted.key"));
+ }
+
+ public void testSmartGetProperties() throws Exception {
+ Destination destination = new Destination();
+ destination.setAnInteger(10);
+ destination.setABoolean(true);
+
+ Properties props = new Properties();
+ props.setProperty("number1", "one");
+ props.setProperty("number2", "two");
+ destination.setProps(props);
+
+ Map map = PropertyUtils.getProperties(destination);
+
+ assertEquals(12, map.size());
+ assertEquals("one", map.get("props.number1"));
+ assertEquals("two", map.get("props.number2"));
+ assertEquals(new Integer(10), map.get("anInteger"));
+ assertEquals(new Boolean(true), map.get("aBoolean"));
+ assertEquals(new Boolean(false), map.get("anotherBoolean"));
+ assertNull(map.get("subDestination"));
+ }
+
+ public void testSetPrimitiveTypes() throws Exception {
+ Destination destination = new Destination();
+
+ PropertyUtils.setProperty(destination, "aString", "this is my string");
+ PropertyUtils.setProperty(destination, "aBoolean", "true");
+ PropertyUtils.setProperty(destination, "aByte", "100");
+ PropertyUtils.setProperty(destination, "aShort", "20000");
+ PropertyUtils.setProperty(destination, "anInteger", "300000");
+ PropertyUtils.setProperty(destination, "aLong", "4000000");
+ PropertyUtils.setProperty(destination, "aFloat", "3.14");
+ PropertyUtils.setProperty(destination, "aDouble", "0.654987");
+
+ assertEquals("this is my string", destination.getAString());
+ assertEquals(true, destination.isABoolean());
+ assertEquals(100, destination.getAByte());
+ assertEquals(20000, destination.getAShort());
+ assertEquals(300000, destination.getAnInteger());
+ assertEquals(4000000, destination.getALong());
+ assertEquals(3.14f, destination.getAFloat(), 0.01f);
+ assertEquals(0.654987, destination.getADouble(), 0.000001);
+ }
+
+ public void testGetPrimitiveTypes() throws Exception {
+ Destination destination = new Destination();
+ destination.setAString("this is my string");
+ destination.setABoolean(true);
+ destination.setAByte((byte) 100);
+ destination.setAShort((short) 20000);
+ destination.setAnInteger(300000);
+ destination.setALong(4000000L);
+ destination.setAFloat(3.14f);
+ destination.setADouble(0.654987);
+
+ assertEquals("this is my string", PropertyUtils.getProperty(destination, "aString"));
+ assertEquals(Boolean.TRUE, PropertyUtils.getProperty(destination, "aBoolean"));
+ assertEquals(new Byte((byte) 100), PropertyUtils.getProperty(destination, "aByte"));
+ assertEquals(new Short((short) 20000), PropertyUtils.getProperty(destination, "aShort"));
+ assertEquals(new Integer(300000), PropertyUtils.getProperty(destination, "anInteger"));
+ assertEquals(new Long(4000000L), PropertyUtils.getProperty(destination, "aLong"));
+ assertEquals(new Float(3.14f), PropertyUtils.getProperty(destination, "aFloat"));
+ assertEquals(new Double(0.654987), PropertyUtils.getProperty(destination, "aDouble"));
+ }
+
+ public static class Destination {
+ private Properties props;
+ private Destination subDestination;
+ private int anInteger;
+ private int aWriteOnlyInt;
+ private boolean aBoolean;
+ private boolean anotherBoolean;
+ private String aString;
+ private byte aByte;
+ private short aShort;
+ private long aLong;
+ private float aFloat;
+ private double aDouble;
+
+ public Properties getProps() {
+ return props;
+ }
+
+ public void setProps(Properties props) {
+ this.props = props;
+ }
+
+ public Destination getSubDestination() {
+ return subDestination;
+ }
+
+ public void setSubDestination(Destination subDestination) {
+ this.subDestination = subDestination;
+ }
+
+ public int getAnInteger() {
+ return anInteger;
+ }
+
+ public void setAnInteger(int anInteger) {
+ this.anInteger = anInteger;
+ }
+
+ public void setAWriteOnlyInt(int aWriteOnlyInt) {
+ this.aWriteOnlyInt = aWriteOnlyInt;
+ }
+
+ public boolean isABoolean() {
+ return aBoolean;
+ }
+
+ public void setABoolean(boolean aBoolean) {
+ this.aBoolean = aBoolean;
+ }
+
+ public boolean isAnotherBoolean() {
+ return anotherBoolean;
+ }
+
+ public void setAnotherBoolean(boolean anotherBoolean) {
+ this.anotherBoolean = anotherBoolean;
+ }
+
+ public String getAString() {
+ return aString;
+ }
+
+ public void setAString(String aString) {
+ this.aString = aString;
+ }
+
+ public byte getAByte() {
+ return aByte;
+ }
+
+ public void setAByte(byte aByte) {
+ this.aByte = aByte;
+ }
+
+ public short getAShort() {
+ return aShort;
+ }
+
+ public void setAShort(short aShort) {
+ this.aShort = aShort;
+ }
+
+ public long getALong() {
+ return aLong;
+ }
+
+ public void setALong(long aLong) {
+ this.aLong = aLong;
+ }
+
+ public float getAFloat() {
+ return aFloat;
+ }
+
+ public void setAFloat(float aFloat) {
+ this.aFloat = aFloat;
+ }
+
+ public double getADouble() {
+ return aDouble;
+ }
+
+ public void setADouble(double aDouble) {
+ this.aDouble = aDouble;
+ }
+ }
+
+ private class PrivateDestination {
+ private Properties props;
+ private PrivateDestination subDestination;
+
+ public Properties getProps() {
+ return props;
+ }
+
+ public void setProps(Properties props) {
+ this.props = props;
+ }
+
+ public PrivateDestination getSubDestination() {
+ return subDestination;
+ }
+
+ public void setSubDestination(PrivateDestination subDestination) {
+ this.subDestination = subDestination;
+ }
+ }
+
+}
diff --git a/test/bitronix/tm/utils/SchedulerTest.java b/test/bitronix/tm/utils/SchedulerTest.java
new file mode 100644
index 0000000..5bf74d2
--- /dev/null
+++ b/test/bitronix/tm/utils/SchedulerTest.java
@@ -0,0 +1,290 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.utils;
+
+import junit.framework.TestCase;
+import bitronix.tm.resource.common.ResourceBean;
+import bitronix.tm.internal.XAResourceHolderState;
+
+import java.util.Iterator;
+import java.util.NoSuchElementException;
+import java.util.Set;
+import java.util.List;
+
+/**
+ *
+ * @author lorban
+ */
+public class SchedulerTest extends TestCase {
+
+ public void testNaturalOrdering() throws Exception {
+ Scheduler resourceScheduler = new Scheduler();
+
+ XAResourceHolderState xarhs0 = new XAResourceHolderState(null, new MockResourceBean(1));
+ XAResourceHolderState xarhs1 = new XAResourceHolderState(null, new MockResourceBean(1));
+ XAResourceHolderState xarhs2 = new XAResourceHolderState(null, new MockResourceBean(1));
+ XAResourceHolderState xarhs3 = new XAResourceHolderState(null, new MockResourceBean(0));
+ XAResourceHolderState xarhs4 = new XAResourceHolderState(null, new MockResourceBean(10));
+
+ resourceScheduler.add(xarhs0, xarhs0.getTwoPcOrderingPosition());
+ resourceScheduler.add(xarhs1, xarhs1.getTwoPcOrderingPosition());
+ resourceScheduler.add(xarhs2, xarhs2.getTwoPcOrderingPosition());
+ resourceScheduler.add(xarhs3, xarhs3.getTwoPcOrderingPosition());
+ resourceScheduler.add(xarhs4, xarhs4.getTwoPcOrderingPosition());
+
+ assertEquals("a Scheduler with 5 object(s) in 3 position(s)", resourceScheduler.toString());
+
+ /* testing natural order priorities */
+ assertEquals(5, resourceScheduler.size());
+ Set priorities = resourceScheduler.getNaturalOrderPositions();
+ assertEquals(3, priorities.size());
+
+ Iterator it = priorities.iterator();
+ Object key0 = it.next();
+ Object key1 = it.next();
+ Object key2 = it.next();
+ assertFalse(it.hasNext());
+
+ List list0 = resourceScheduler.getByNaturalOrderForPosition(key0);
+ assertEquals(1, list0.size());
+ assertTrue(xarhs3 == list0.get(0));
+
+ List list1 = resourceScheduler.getByNaturalOrderForPosition(key1);
+ assertEquals(3, list1.size());
+ assertTrue(xarhs0 == list1.get(0));
+ assertTrue(xarhs1 == list1.get(1));
+ assertTrue(xarhs2 == list1.get(2));
+
+ List list2 = resourceScheduler.getByNaturalOrderForPosition(key2);
+ assertEquals(1, list2.size());
+ assertTrue(xarhs4 == list2.get(0));
+ }
+
+ public void testReverseOrdering() throws Exception {
+ Scheduler resourceScheduler = new Scheduler();
+
+ XAResourceHolderState xarhs0 = new XAResourceHolderState(null, new MockResourceBean(1));
+ XAResourceHolderState xarhs1 = new XAResourceHolderState(null, new MockResourceBean(1));
+ XAResourceHolderState xarhs2 = new XAResourceHolderState(null, new MockResourceBean(1));
+ XAResourceHolderState xarhs3 = new XAResourceHolderState(null, new MockResourceBean(0));
+ XAResourceHolderState xarhs4 = new XAResourceHolderState(null, new MockResourceBean(10));
+
+ resourceScheduler.add(xarhs0, xarhs0.getTwoPcOrderingPosition());
+ resourceScheduler.add(xarhs1, xarhs1.getTwoPcOrderingPosition());
+ resourceScheduler.add(xarhs2, xarhs2.getTwoPcOrderingPosition());
+ resourceScheduler.add(xarhs3, xarhs3.getTwoPcOrderingPosition());
+ resourceScheduler.add(xarhs4, xarhs4.getTwoPcOrderingPosition());
+
+ assertEquals("a Scheduler with 5 object(s) in 3 position(s)", resourceScheduler.toString());
+
+ Set reverseOrderPriorities = resourceScheduler.getReverseOrderPositions();
+ assertEquals(3, reverseOrderPriorities.size());
+
+ Iterator itReverse = reverseOrderPriorities.iterator();
+ Object key0r = itReverse.next();
+ Object key1r = itReverse.next();
+ Object key2r = itReverse.next();
+ assertFalse(itReverse.hasNext());
+
+ List list0r = resourceScheduler.getByReverseOrderForPosition(key0r);
+ assertEquals(1, list0r.size());
+ assertTrue(xarhs4 == list0r.get(0));
+
+ List list1r = resourceScheduler.getByReverseOrderForPosition(key1r);
+ assertEquals(3, list1r.size());
+ assertTrue(xarhs2 == list1r.get(0));
+ assertTrue(xarhs1 == list1r.get(1));
+ assertTrue(xarhs0 == list1r.get(2));
+
+ List list2r = resourceScheduler.getByReverseOrderForPosition(key2r);
+ assertEquals(1, list2r.size());
+ assertTrue(xarhs3 == list2r.get(0));
+ }
+
+ public void testIterator() {
+ Scheduler resourceScheduler = new Scheduler();
+
+ XAResourceHolderState xarhs0 = new XAResourceHolderState(null, new MockResourceBean(1));
+ XAResourceHolderState xarhs1 = new XAResourceHolderState(null, new MockResourceBean(1));
+ XAResourceHolderState xarhs2 = new XAResourceHolderState(null, new MockResourceBean(1));
+ XAResourceHolderState xarhs3 = new XAResourceHolderState(null, new MockResourceBean(0));
+ XAResourceHolderState xarhs4 = new XAResourceHolderState(null, new MockResourceBean(10));
+
+ resourceScheduler.add(xarhs0, xarhs0.getTwoPcOrderingPosition());
+ resourceScheduler.add(xarhs1, xarhs1.getTwoPcOrderingPosition());
+ resourceScheduler.add(xarhs2, xarhs2.getTwoPcOrderingPosition());
+ resourceScheduler.add(xarhs3, xarhs3.getTwoPcOrderingPosition());
+ resourceScheduler.add(xarhs4, xarhs4.getTwoPcOrderingPosition());
+
+ assertEquals("a Scheduler with 5 object(s) in 3 position(s)", resourceScheduler.toString());
+
+ Iterator it = resourceScheduler.iterator();
+ assertTrue(it.hasNext());
+ assertTrue(xarhs3 == it.next());
+ assertTrue(xarhs0 == it.next());
+ assertTrue(xarhs1 == it.next());
+ assertTrue(xarhs2 == it.next());
+ assertTrue(xarhs4 == it.next());
+ assertFalse(it.hasNext());
+
+ it = resourceScheduler.iterator();
+ assertTrue(it.hasNext());
+ assertTrue(xarhs3 == it.next());
+ it.remove();
+ assertTrue(xarhs0 == it.next());
+ it.remove();
+ assertTrue(xarhs1 == it.next());
+ it.remove();
+ assertTrue(xarhs2 == it.next());
+ it.remove();
+ assertTrue(xarhs4 == it.next());
+ it.remove();
+ assertFalse(it.hasNext());
+ assertEquals(0, resourceScheduler.size());
+ }
+
+ public void testReverseIterator() {
+ Scheduler resourceScheduler = new Scheduler();
+
+ XAResourceHolderState xarhs0 = new XAResourceHolderState(null, new MockResourceBean(1));
+ XAResourceHolderState xarhs1 = new XAResourceHolderState(null, new MockResourceBean(1));
+ XAResourceHolderState xarhs2 = new XAResourceHolderState(null, new MockResourceBean(1));
+ XAResourceHolderState xarhs3 = new XAResourceHolderState(null, new MockResourceBean(0));
+ XAResourceHolderState xarhs4 = new XAResourceHolderState(null, new MockResourceBean(10));
+
+ resourceScheduler.add(xarhs0, xarhs0.getTwoPcOrderingPosition());
+ resourceScheduler.add(xarhs1, xarhs1.getTwoPcOrderingPosition());
+ resourceScheduler.add(xarhs2, xarhs2.getTwoPcOrderingPosition());
+ resourceScheduler.add(xarhs3, xarhs3.getTwoPcOrderingPosition());
+ resourceScheduler.add(xarhs4, xarhs4.getTwoPcOrderingPosition());
+
+ assertEquals("a Scheduler with 5 object(s) in 3 position(s)", resourceScheduler.toString());
+
+ Iterator it = resourceScheduler.reverseIterator();
+ assertTrue(it.hasNext());
+
+ assertTrue(xarhs4 == it.next());
+ assertTrue(xarhs0 == it.next());
+ assertTrue(xarhs1 == it.next());
+ assertTrue(xarhs2 == it.next());
+ assertTrue(xarhs3 == it.next());
+
+ assertFalse(it.hasNext());
+ }
+
+ public void testRemove() {
+ Scheduler resourceScheduler = new Scheduler();
+
+ XAResourceHolderState xarhs0 = new XAResourceHolderState(null, new MockResourceBean(0));
+ XAResourceHolderState xarhs1 = new XAResourceHolderState(null, new MockResourceBean(1));
+
+ resourceScheduler.add(xarhs0, xarhs0.getTwoPcOrderingPosition());
+ resourceScheduler.add(xarhs1, xarhs1.getTwoPcOrderingPosition());
+
+ resourceScheduler.remove(xarhs0);
+ resourceScheduler.add(xarhs0, xarhs0.getTwoPcOrderingPosition());
+
+ Iterator it = resourceScheduler.iterator();
+ assertTrue(it.hasNext());
+ assertTrue(xarhs0 == it.next());
+ it.remove();
+ assertTrue(xarhs1 == it.next());
+ it.remove();
+ }
+
+ public void testReverseRemove() {
+ Scheduler resourceScheduler = new Scheduler();
+
+ XAResourceHolderState xarhs0 = new XAResourceHolderState(null, new MockResourceBean(0));
+ XAResourceHolderState xarhs1 = new XAResourceHolderState(null, new MockResourceBean(1));
+
+ resourceScheduler.add(xarhs0, xarhs0.getTwoPcOrderingPosition());
+ resourceScheduler.add(xarhs1, xarhs1.getTwoPcOrderingPosition());
+
+ resourceScheduler.remove(xarhs0);
+ resourceScheduler.add(xarhs0, xarhs0.getTwoPcOrderingPosition());
+
+ Iterator it = resourceScheduler.reverseIterator();
+ assertTrue(it.hasNext());
+ assertTrue(xarhs1 == it.next());
+ it.remove();
+ assertTrue(xarhs0 == it.next());
+ it.remove();
+ }
+
+ public void testHasNext() {
+ Scheduler resourceScheduler = new Scheduler();
+
+ XAResourceHolderState xarhs0 = new XAResourceHolderState(null, new MockResourceBean(0));
+ XAResourceHolderState xarhs1 = new XAResourceHolderState(null, new MockResourceBean(10));
+
+ resourceScheduler.add(xarhs0, xarhs0.getTwoPcOrderingPosition());
+ resourceScheduler.add(xarhs1, xarhs1.getTwoPcOrderingPosition());
+
+
+ Iterator it = resourceScheduler.iterator();
+
+ for (int i=0; i<10 ;i++) {
+ assertTrue(it.hasNext());
+ }
+ it.next();
+ for (int i=0; i<10 ;i++) {
+ assertTrue(it.hasNext());
+ }
+ it.next();
+ for (int i=0; i<10 ;i++) {
+ assertFalse(it.hasNext());
+ }
+
+ try {
+ it.next();
+ fail("expected NoSuchElementException");
+ } catch (NoSuchElementException ex) {
+ // expected
+ }
+ }
+
+ private static int counter = 0;
+ private static int incCounter() {
+ return counter++;
+ }
+
+ private class MockResourceBean extends ResourceBean {
+
+ private int number;
+ private int commitOrderingPosition;
+
+ private MockResourceBean(int commitOrderingPosition) {
+ this.number = incCounter();
+ this.commitOrderingPosition = commitOrderingPosition;
+ }
+
+
+ public int getTwoPcOrderingPosition() {
+ return commitOrderingPosition;
+ }
+
+ public String toString() {
+ return "a MockResourceBean #" + number;
+ }
+ }
+
+}
diff --git a/test/bitronix/tm/utils/UidGeneratorTest.java b/test/bitronix/tm/utils/UidGeneratorTest.java
new file mode 100644
index 0000000..236c0a2
--- /dev/null
+++ b/test/bitronix/tm/utils/UidGeneratorTest.java
@@ -0,0 +1,89 @@
+/*
+ * Bitronix Transaction Manager
+ *
+ * Copyright (c) 2010, Bitronix Software.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the GNU
+ * Lesser General Public License, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this distribution; if not, write to:
+ * Free Software Foundation, Inc.
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301 USA
+ */
+package bitronix.tm.utils;
+
+import junit.framework.TestCase;
+
+import java.util.Arrays;
+import java.util.HashSet;
+
+/**
+ *
+ * @author lorban
+ */
+public class UidGeneratorTest extends TestCase {
+
+
+ public void testHexaStringEncoder() throws Exception {
+ byte[] result = Encoder.intToBytes(0x80);
+ String hexString = new Uid(result).toString();
+ assertEquals("00000080", hexString);
+
+ result = Encoder.longToBytes(0x81);
+ hexString = new Uid(result).toString();
+ assertEquals("0000000000000081", hexString);
+
+ result = Encoder.shortToBytes((short)0xff);
+ hexString = new Uid(result).toString();
+ assertEquals("00FF", hexString);
+ }
+
+
+ public void testUniqueness() throws Exception {
+ final int count = 10000;
+ HashSet uids = new HashSet(2048);
+
+ for (int i=0; i<count ;i++) {
+ Uid uid = UidGenerator.generateUid();
+ assertTrue("UidGenerator generated duplicate UID at #" + i, uids.add(uid.toString()));
+ }
+ }
+
+ public void testEquals() throws Exception {
+ Uid uid1 = UidGenerator.generateUid();
+ Uid uid2 = UidGenerator.generateUid();
+ Uid uid3 = null;
+
+ assertFalse(uid1.equals(uid2));
+ assertFalse(uid2.equals(uid3));
+ assertTrue(uid2.equals(uid2));
+ }
+
+ public void testExtracts() throws Exception {
+ byte[] timestamp = Encoder.longToBytes(System.currentTimeMillis());
+ byte[] sequence = Encoder.intToBytes(1);
+ byte[] serverId = "my-server-id".getBytes();
+
+ int uidLength = serverId.length + timestamp.length + sequence.length;
+ byte[] uidArray = new byte[uidLength];
+
+ System.arraycopy(serverId, 0, uidArray, 0, serverId.length);
+ System.arraycopy(timestamp, 0, uidArray, serverId.length, timestamp.length);
+ System.arraycopy(sequence, 0, uidArray, serverId.length + timestamp.length, sequence.length);
+
+ Uid uid = new Uid(uidArray);
+
+ assertTrue(Arrays.equals(serverId, uid.extractServerId()));
+ assertEquals(Encoder.bytesToLong(timestamp, 0), uid.extractTimestamp());
+ assertEquals(Encoder.bytesToInt(sequence, 0), uid.extractSequence());
+ }
+
+}
diff --git a/test/log4j.xml b/test/log4j.xml
new file mode 100644
index 0000000..6fafc48
--- /dev/null
+++ b/test/log4j.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "/work/bitronix/btm/m2/src/test/resources/log4j.dtd">
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
+
+ <appender name="console" class="org.apache.log4j.ConsoleAppender">
+ <param name="Target" value="System.out"/>
+ <param name="Threshold" value="OFF"/>
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="%d{ABSOLUTE} {%8.8t} (%X{btm-gtrid}) [%-5p,%-10c{1}] %m%n"/>
+ </layout>
+ </appender>
+
+ <appender name="file" class="org.apache.log4j.FileAppender">
+ <param name="File" value="target/tests.log"/>
+ <param name="Append" value="false"/>
+ <param name="Threshold" value="DEBUG"/>
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="%d [%t] (%X{btm-gtrid}) %p - %m%n"/>
+ </layout>
+ </appender>
+
+ <category name="bitronix">
+ <level value="DEBUG"/>
+ <appender-ref ref="file"/>
+ </category>
+
+ <root>
+ <appender-ref ref="console"/>
+ </root>
+
+</log4j:configuration>
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/libbtm-java.git
More information about the pkg-java-commits
mailing list