That is a little odd.  It looks like I intended for something else there.
I'll look at it.

Clinton

On Tue, Nov 10, 2009 at 8:09 AM, Poitras Christian <
christian.poit...@ircm.qc.ca> wrote:

>  What is the expected behaviour when calling dataSouce.getConnection() for
> managed transactions in iBATIS 3?
>
> I find suspicious that ResultLoader calls dataSouce.getConnection() at line
> 89 which could create an unexpected connection. And since managed
> transaction is used, the connection may never be closed.
>
>
> Christian
>
>
> Here is the code from ResultLoader which calls dataSouce.getConnection() :
>
> *private* Executor newExecutor() *throws* SQLException {
>
> Environment environment =
> configuration.getEnvironment();
>
> *if* (environment == *null*)
>
> *throw* *new* ExecutorException("ResultLoader could not load lazily.
> Environment was not configured.");
>
> TransactionFactory txFactory = environment.getTransactionFactory();
>
> *if* (txFactory == *null*)
>
> *throw* *new* ExecutorException("ResultLoader could not load lazily.
> Transaction Factory was not configured.");
>
> DataSource ds = environment.getDataSource();
>
> *if* (ds == *null*) *throw* *new* ExecutorException("ResultLoader could
> not load lazily. DataSource was not configured.");
>
> Connection conn = ds.getConnection();
>
> conn = wrapConnection(conn);
>
> Transaction tx = txFactory.newTransaction(conn,
> *false*);
>
> *return* configuration.newExecutor(tx, ExecutorType.*SIMPLE*);
>
> }
>

Reply via email to