2012-03-15 58 views
2

我有一个java web应用程序,我从代码中删除了一个函数,但此函数写入的数据库条目仍在写入数据库。java数据库功能被删除 - 仍在执行

在IssueWarrant函数中,调用了已被注释掉的insertWarrantFee。

private void issueWarrant(String CasePrefix, String CaseNumber, String HearingType, String Suspend) 
    { 
     int i = 0, intDivision = 0, pos = 0; 
     String SummSeq = getSummSeq(CasePrefix, CaseNumber); 
     String Charges = getCharges(CasePrefix, CaseNumber, HearingType); 
     boolean isVacated = false, isHearingFound = false; 
     NextBWNumber warrNbr = new NextBWNumber(); 
     String WarrantNumber = warrNbr.getNextBWNumber(); 
     String warrStatus = warrNbr.getNextBWNStatus(); 
     String HearingDesc = "", Division = ""; 
     isVacated = getVacatedStatus(CasePrefix, CaseNumber, HearingType); 
     isHearingFound = getHearingStatus (CasePrefix, CaseNumber, HearingType); 

     HearingDesc = getFormatToday() + " " + getHearingDesc(HearingType); 
     if (HearingDesc.length() > 30) 
     { 
      HearingDesc = HearingDesc.substring(0,30); 
     } 
     Division = getHearingJudge(CasePrefix,CaseNumber,HearingType); 
     intDivision = Integer.parseInt(Division); 
     if (intDivision < 10) 
     { Division = "0" + Division; } 

     Statement localstmt = null; 
     String localqueryString; 

     localqueryString = "INSERT INTO " + library7 + "CMPBWPND" + 
      " (CASPRE, CASNUM, DEFSEQ, CHGSEQ, SUMSEQ, STSCOD, STSDAT," + 
      " STATUT, CHGABV, BWNBR, JUDCOD, PRVFLG, CT2FLG, DIVISN, BNDAMT," + 
      " BTYPE, CMNT, CUSER, TUSER, LUPDAT, SCRDAT, STATSDAT, SUMCRDAT, LUPDATE)" + 
      " VALUES ('" + CasePrefix + "', " + CaseNumber + ", 1, " + Charges.substring(i, i + 1) + 
      ", " + SummSeq + ", 9, " + getShortDate() + ", 'RCP 12-A TA', 'WARRANT', '" + 
      WarrantNumber + "', " + intDivision + ", 'N', 1, '" + Division + "', " + 
      BondAmt + ", '" + BondType + "', '" + HearingDesc + "', 'TAAD', 'TAAD', " + 
      getShortDate() + ", " + getShortDate() + ", " + getLongDate() + ", " + getLongDate() + 
      ", " + getLongDate() + ")"; 

     try 
     { 
      if (!isVacated && isHearingFound) 
      { 
       localstmt = conn.createStatement(); 
       localstmt.executeUpdate(localqueryString); 
       localstmt.close(); 
       StatusMsg = "Client No Show-WI"; 
      } 
      if (isVacated) 
      { 
       StatusMsg = "Client Vacated Case"; 
      } 
      if (!isHearingFound) 
      { 
       StatusMsg = "Client Hearing Missing"; 
      } 

     } catch (SQLException e) 
      { 
       System.out.println("IssueWarr - Error in IssueWarrant"); 
       e.printStackTrace(); 
       ReturnInfo = "Issuing Warrants Failed."; 
       success = false; 
      }finally 
      { 
       try 
       { 
        if (!localstmt.isClosed()) 
        { 
         localstmt.close(); 
        }     
       } catch (SQLException sql2) 
        { 
         System.out.println("Error trying to close connections. Exception: " + sql2.getMessage()); 
        } 
      } 

     **//insertWarrantFee(CasePrefix, CaseNumber, SummSeq, WarrantNumber);**  
     updateHearingRecord(CasePrefix, CaseNumber, HearingType, Charges.substring(i, i + 1), Suspend); 

     for (i = 1; i < Charges.length(); i++) 
     { 
      insertBWPTFRecord(CasePrefix, CaseNumber, SummSeq, Charges.substring(i, i + 1)); 
     } 
     if (!success) 
     { 
      StatusMsg = "Client Iss. Warrant Failure"; 
     } 
    } 

这里是有人评论之前那个叫insertWarrantFee代码:

private void insertWarrantFee(String CasePrefix, String CaseNumber, String SummSeq, String WarrantNumber) 
    { 
     Statement localstmt = null; 
     String localqueryString; 
     ResultSet localrSet = null; 
     String feeAmt = null; 

     localqueryString = "SELECT AUTO$$ FROM " + library3 + "CMPDKTTP WHERE DKTTYP = 'W'"; 
     try 
     { 
      localstmt = conn.createStatement(); 
      localrSet = localstmt.executeQuery(localqueryString);   
      while (localrSet.next()) 
      { 
       feeAmt = localrSet.getString("AUTO$$"); 
      } 
      localstmt.close(); 
      localrSet.close(); 

     } catch (SQLException e) 
      { 
       System.out.println("IssueWarr - Error in Insert Warrant Fee SQL1"); 
       e.printStackTrace(); 
       ReturnInfo = "Issuing Warrants Failed."; 
       success = false; 
      }finally 
      { 
       try 
       { 
        if (!localstmt.isClosed()) 
        { 
         localstmt.close(); 
        }     
       } catch (SQLException sql2) 
        { 
         System.out.println("Error trying to close connections. Exception: " + sql2.getMessage()); 
        } 
      } 

     localqueryString = "INSERT INTO " + library7 + "CMPBWTRN" 
      + " (CASPRE, CASNUM, DEFSEQ, SUMSEQ, BWNBR, FEEAMT, DKTTYP, TUSER, LUPDAT)" 
      + " VALUES ('" + CasePrefix + "', " + CaseNumber + ", 1, " + SummSeq + ", '" + WarrantNumber 
      + "', " + feeAmt + ", 'W', 'TAAD', " + getShortDate() + ")";     
     try 
     { 
      localstmt = conn.createStatement(); 
      localstmt.executeUpdate(localqueryString); 
      localstmt.close(); 

     } catch (SQLException e) 
      { 
       System.out.println("IssueWarr - Insert Warrant Fee SQL2"); 
       e.printStackTrace(); 
       ReturnInfo = "Issuing Warrants Failed."; 
       success = false; 
      }finally 
      { 
       try 
       { 
        if (!localstmt.isClosed()) 
        { 
         localstmt.close(); 
        }     
       } catch (SQLException sql2) 
        { 
         System.out.println("Error trying to close connections. Exception: " + sql2.getMessage()); 
        } 
      } 
    } 

因此,即使是所谓的insertWarrantFee行注释掉的记录仍然被插入CMPBWTRN。

任何想法如何发生?开发人员指出它可能是一个tomcat连接缓存问题?除了魔法代码之外的其他建议?

谢谢! 莱斯利

+1

您是否确定实际运行的代码是在没有删除代码的情况下编译的? – cdeszaq 2012-03-15 20:00:56

+1

作为一般性评论:您不应该对连接字符串使用SQL,这是对SQL注入攻击的邀请。改用'PreparedStatement'。 – nwinkler 2012-03-15 20:01:59

+0

cdeszaq - 不,我不知道。我知道应用程序的部署就像我们经常部署的一样。我假设它是在它被部署之前构建的,只是因为我们自动构建。 – Leslie 2012-03-15 21:07:08

回答

0

几件事情尝试:

  • 请确保您已重新部署应用程序并已经重新启动Tomcat的。检查有问题的已部署类的时间戳。
  • 清洁Tomcat的tmpwork目录
  • 打开使用反编译器,看看取出的代码是否仍然在那里部署的Java类。
  • 向注释掉的方法和调用它的方法添加日志记录(或System.out.println)语句。查看重新部署更改后是否打印其中一个或两个。
+0

非常感谢,它看起来不像是新的类被部署了,它仍然有旧的日期。我们今晚要重新部署,希望能修复坏的魔咒! – Leslie 2012-03-15 22:01:25