ibatis-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Clinton Begin (JIRA)" <ibatis-...@incubator.apache.org>
Subject [jira] Commented: (IBATIS-165) NPE when using userConnection in SqlMapExecutorDelegate.endTransaction()
Date Sat, 02 Jul 2005 14:30:12 GMT
    [ http://issues.apache.org/jira/browse/IBATIS-165?page=comments#action_12314949 ] 

Clinton Begin commented on IBATIS-165:

In the case of a user transaction, the TX manager will still be called, so you always need
a transaction manager.  Most people do provide one, even if they are managing user transactions
themseles.  The reason being, lazy loading cannot work without a TX manager and a datasource.

The solution to the problem is probably for us to provide a USER transaction manager type,
so that you can configura a TX manager that knows you'll be managing transactions yourself,
and essentially does very little so as not to get in your way.


> NPE when using userConnection in SqlMapExecutorDelegate.endTransaction()
> ------------------------------------------------------------------------
>          Key: IBATIS-165
>          URL: http://issues.apache.org/jira/browse/IBATIS-165
>      Project: iBatis for Java
>         Type: Bug
>   Components: SQL Maps
>     Versions: 2.1.0
>  Environment: Managed environment - WebSphere 3.5, AIX
>     Reporter: Marc Fleischeuers

> I get a NPE in SqlMapExecutorDelegate, when it accesses txManager, see below stacktrace.
> 	at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.endTransaction(SqlMapExecutorDelegate.java:776)
> 	at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.endTransaction(SqlMapSessionImpl.java:141)
> 	at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.endTransaction(SqlMapClientImpl.java:114)
> 	at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.autoEndTransaction(SqlMapExecutorDelegate.java:860)
> 	at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:617)
> 	at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:109)
> 	at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapClientImpl.java:81)
> txManager is null and it's supposed to be; I'm providing a userConnection and performing
transaction management myself. 
> In SqlMapExecutorDelegate.queryForList(...): when I provide a userConnection, trans is
set to new UserTransaction() so autoStart is false. This eventually leads to invocation on
txManager in endTransaction(), throwing the NPE (there's probably an NPE thrown in startTransaction
as well!). I think in the case of a userConnection, txManager should not be called.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

View raw message