| Gets called by CciTemplate.execute with an active CCI Connection.
Does not need to care about activating or closing the Connection, or handling
transactions.
If called without a thread-bound CCI transaction (initiated by
CciLocalTransactionManager), the code will simply get executed on the CCI
Connection with its transactional semantics. If CciTemplate is configured
to use a JTA-aware ConnectionFactory, the CCI Connection and thus the callback
code will be transactional if a JTA transaction is active.
Allows for returning a result object created within the callback, i.e.
a domain object or a collection of domain objects. Note that there's special
support for single step actions: see the CciTemplate.execute
variants. A thrown RuntimeException is treated as application exception:
it gets propagated to the caller of the template.
Parameters: connection - active CCI Connection Parameters: connectionFactory - the CCI ConnectionFactory that the Connection wascreated with (gives access to RecordFactory and ResourceAdapterMetaData) a result object, or null if none throws: ResourceException - if thrown by a CCI method, to be auto-convertedto a DataAccessException throws: SQLException - if thrown by a ResultSet method, to be auto-convertedto a DataAccessException throws: DataAccessException - in case of custom exceptions See Also: javax.resource.cci.ConnectionFactory.getRecordFactory See Also: javax.resource.cci.ConnectionFactory.getMetaData See Also: CciTemplate.execute(javax.resource.cci.InteractionSpecRecordCreatorRecordExtractor) |