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: con - active CCI Connection |