Changeset 6722 for TI01-discovery-API


Ignore:
Timestamp:
12/03/10 08:12:13 (9 years ago)
Author:
mnagni
Message:

Fixed several database connection leaks.
Update the artifact version to 1.1.3

Location:
TI01-discovery-API/trunk/MEDINDiscoveryService
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • TI01-discovery-API/trunk/MEDINDiscoveryService/pom.xml

    r6687 r6722  
    44        <groupId>ndg.services.discovery</groupId> 
    55        <artifactId>MedinDiscoveryService</artifactId> 
    6         <version>1.1.2</version> 
     6        <version>1.1.3</version> 
    77        <packaging>aar</packaging> 
    88 
  • TI01-discovery-API/trunk/MEDINDiscoveryService/src/main/java/ndg/common/db/NdgBasicDataSource.java

    r6678 r6722  
    3232        private Connection getConnFromDS(String jndiDataSource)  
    3333                        throws ResourceNotAvailable, SQLException { 
    34                 if (!dsMap.containsKey(jndiDataSource))  
     34                if (!dsMap.containsKey(jndiDataSource) || dsMap.get(jndiDataSource) == null)  
    3535                        lookupDataSource(jndiDataSource); 
    3636                 
    37                 if (dsMap.containsKey(jndiDataSource) && dsMap.get(jndiDataSource) != null) 
    38                                 return dsMap.get(jndiDataSource).getConnection(); 
     37                if (dsMap.containsKey(jndiDataSource) && dsMap.get(jndiDataSource) != null) { 
     38                        DataSource dataS = dsMap.get(jndiDataSource); 
     39                        Connection conn = dataS.getConnection(); 
     40                        return conn; 
     41                } 
     42                         
    3943                return null; 
    4044        } 
  • TI01-discovery-API/trunk/MEDINDiscoveryService/src/main/java/ndg/services/discovery/DiscoveryServiceMEDINSkeleton.java

    r6678 r6722  
    156156                PresentAgent agent = new PresentAgent(); 
    157157                List<String> documentsId = new ArrayList<String>(); 
     158                Connection conn = null; 
    158159                try { 
    159160                        for (SimpleDocument1 doc : doPresent.getDoPresent().getDocumentsArray()) { 
     
    161162                        } 
    162163                        RetrieveCriteriaType retrieveType = doPresent.getDoPresent().getRetrieveCriteria(); 
    163                         List<OriginalDocument> result = agent.doPresent(null, documentsId, retrieveType); 
     164                        List<OriginalDocument> result = agent.doPresent(conn, documentsId, retrieveType); 
    164165                        String recDetail = retrieveType == null ? null : retrieveType.getRecordDetail(); 
    165166                        DiscoveryDictionary.RecordDetail detail = DiscoveryDictionary.getRecordDetails(recDetail); 
     
    177178                        responseContent.setStatus(status); 
    178179                        responseContent.setStatusMessage(statusMessage); 
    179                 } 
    180  
     180                        if (conn != null) 
     181                                try { 
     182                                        conn.close(); 
     183                                } catch (SQLException e) { 
     184                                        // TODO Auto-generated catch block 
     185                                        e.printStackTrace(); 
     186                                } 
     187                } 
    181188                return response; 
    182189        } 
     
    488495                stat.setInt(5, responseContent.getHits()); 
    489496                stat.executeUpdate(); 
     497                if (conn != null)  
     498                        conn.close(); 
    490499        } 
    491500 
  • TI01-discovery-API/trunk/MEDINDiscoveryService/src/main/java/ndg/services/discovery/model/CommonMethods.java

    r6678 r6722  
    151151                                } 
    152152                        } 
    153                 } catch (Exception e) { 
     153                } catch (SQLException e) { 
     154                        logHelper.logMessage("rollbackError: ", Level.ERROR, e); 
     155                } finally { 
     156                        if (conn != null) 
     157                                try { 
     158                                        conn.close(); 
     159                                } catch (SQLException e) { 
     160                                        logHelper.logMessage("closeConnectionError: ", Level.ERROR, e); 
     161                                } 
    154162                } 
    155163        } 
     
    160168                                rs.close(); 
    161169                } catch (Exception e) { 
     170                        logHelper.logMessage("closeResultsetError", Level.ERROR, e); 
    162171                } 
    163172                try { 
     
    165174                                stat.close(); 
    166175                } catch (Exception e) { 
     176                        logHelper.logMessage("closeStatementError", Level.ERROR, e); 
    167177                } 
    168178        } 
  • TI01-discovery-API/trunk/MEDINDiscoveryService/src/main/java/ndg/services/discovery/model/PresentAgent.java

    r6678 r6722  
    203203                } 
    204204                List<OriginalDocument> searchResult = executeSearch(conn, sqlQuery); 
     205                if (conn != null) { 
     206                        try { 
     207                                conn.close(); 
     208                        } catch (Exception e) { 
     209                                logHelper.logMessage("closeConnectionError", Level.ERROR, e); 
     210                        }        
     211                } 
    205212                return searchResult; 
    206213        } 
  • TI01-discovery-API/trunk/MEDINDiscoveryService/src/main/java/ndg/services/discovery/model/SearchAgent.java

    r6687 r6722  
    8888                } finally { 
    8989                        commitOrRollback(conn, commit); 
     90                } 
     91                if (conn != null) { 
     92                        try { 
     93                                conn.close(); 
     94                        } catch (SQLException e) { 
     95                                logHelper.logMessage("closeConnectionError", Level.ERROR, e); 
     96                        } 
    9097                } 
    9198                return searchResult; 
Note: See TracChangeset for help on using the changeset viewer.