[ 
https://issues.apache.org/jira/browse/DBCP-438?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14624180#comment-14624180
 ] 

Raihan Kibria commented on DBCP-438:
------------------------------------

Our production system is running smoothly after we added the null-pointer check 
in the code. We configured DBCP as DataSource to run on a J2EE app-server as a 
separate war. The EJBs from different applications are using the DBCP 
data-source to get connection. The only way we could overcome the NPE was to 
add the null-pointer check in the source code of DBCP iteself. Handling the 
exception in the calling apps does not work because of different domains 
(exception does not get propagated to the calling apps). I wish I could help, 
but I am not an expert on JTA. I will need a lot of time to study the 
correctness of the code.



> Nested connections in a transaction (local) throws null pointer
> ---------------------------------------------------------------
>
>                 Key: DBCP-438
>                 URL: https://issues.apache.org/jira/browse/DBCP-438
>             Project: Commons Dbcp
>          Issue Type: Bug
>    Affects Versions: 2.0, 2.1
>         Environment: All (linux, aix, windows)
>            Reporter: Raihan Kibria
>             Fix For: 2.1.1
>
>         Attachments: TestManagedDataSourceInNesetedConnTx.java, dbcpNull.png
>
>
> In a transaction context, if we open multiple connections and close each of 
> them after commit, we get a null pointer exception. Sample code:
>               transactionManager.begin();
>               
>               Connection c1 = null;
>               Connection c2 = null;
>               
>               c1 = newConnection();
>               c2 = newConnection();
>               
>               transactionManager.commit();
>               
>               try{
>                       c1.close();
>               }catch(Exception e){
>                       e.printStackTrace();
>               }
>               
>               try{
>                       c2.close();
>               }catch(Exception e){
>                       //throws execption
>                       e.printStackTrace();
>               }
> Null pointer is thrown at:
> org.apache.commons.dbcp2.DelegatingConnection.closeInternal
> Affects versions-- 2.1, 2.0



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to