1. ps -ef | grep java | grep jboss (find no. e.g. 10811)
2. kill -9 10811 ( kill the jboss )
3. /usr/local/jboss/bin/run.sh & ( start the jboss )
or ./run.sh &
2008年7月15日 星期二
Tomcat 連 Oracle 數據庫時出現異常
Tomcat 連 Oracle 數據庫時出現如下異常信息,
org.apache.commons.dbcp.SQLNestedException:Cannot create PoolableConnectionFactory
(Io exception : The Network Adapter could not establish the connection)
在防火牆開了3個端口, 8080, 8009, 8005, 問題搞定。
##########################################################################
環境設置基本上就是兩個環境變量的設置: PATH 和 CLASSPATH。 首先要正確設置 CLASSPATH,以利用提供數據庫訪問和 Excel 電子表格功能的 API。 使用 run.bat 文件設置這一變量,這樣就可以訪問相應的 Java 文檔(.jar 文件)。您可能需要將指向 classes12.jar(其中包含 Oracle JDBC 驅動)的路徑更改您系統上的正確路徑。 在安裝許多不同的 Oracle 產品時都將自動安裝該文件。如果您系統中沒有該文件,本文前面提供有文件的下載鏈接。 如果 CLASSPATH 不包含這一 jar,當程序試圖載入 JDBC 驅動時,會出現錯誤:
Driver not found: oracle.jdbc.driver.OracleDriver
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
##########################################################################
jdbc:oracle:thin:@www.dataserver.com:1521:oradb
要把oracle數據庫的主機名和ip地址寫到hosts文件裡面
/etc/hosts文件我加了ip和主機名
##########################################################################
問題環境:
1.把class12.zip添加到windows的環境變量classpath中
2.正確設置了Jbuilder的Enterprise Server 中的JDBC路徑
3.用oracle8.1.7客戶端可以正常連接到oracle數據庫服務器
4.採用Database Pilot 測試,建立連接字符串
Driver:oracle.jdbc.driver.OracleDriver
URL:jdbc:oracle:thin:@myip:1521:mysid
myip和mysid都是正確的
5.輸入正確的用戶名和密碼後,出現上述IO異常
##########################################################################
org.apache.commons.dbcp.SQLNestedException:Cannot create PoolableConnectionFactory
(Io exception : The Network Adapter could not establish the connection)
在防火牆開了3個端口, 8080, 8009, 8005, 問題搞定。
##########################################################################
環境設置基本上就是兩個環境變量的設置: PATH 和 CLASSPATH。 首先要正確設置 CLASSPATH,以利用提供數據庫訪問和 Excel 電子表格功能的 API。 使用 run.bat 文件設置這一變量,這樣就可以訪問相應的 Java 文檔(.jar 文件)。您可能需要將指向 classes12.jar(其中包含 Oracle JDBC 驅動)的路徑更改您系統上的正確路徑。 在安裝許多不同的 Oracle 產品時都將自動安裝該文件。如果您系統中沒有該文件,本文前面提供有文件的下載鏈接。 如果 CLASSPATH 不包含這一 jar,當程序試圖載入 JDBC 驅動時,會出現錯誤:
Driver not found: oracle.jdbc.driver.OracleDriver
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
##########################################################################
jdbc:oracle:thin:@www.dataserver.com:1521:oradb
要把oracle數據庫的主機名和ip地址寫到hosts文件裡面
/etc/hosts文件我加了ip和主機名
##########################################################################
問題環境:
1.把class12.zip添加到windows的環境變量classpath中
2.正確設置了Jbuilder的Enterprise Server 中的JDBC路徑
3.用oracle8.1.7客戶端可以正常連接到oracle數據庫服務器
4.採用Database Pilot 測試,建立連接字符串
Driver:oracle.jdbc.driver.OracleDriver
URL:jdbc:oracle:thin:@myip:1521:mysid
myip和mysid都是正確的
5.輸入正確的用戶名和密碼後,出現上述IO異常
##########################################################################
Try Statement Format
1. set the conn = DatabaseManager.getConnection(); in the begginning and once it one time only.
2. set the conn.rollback(); when the error happen and set the SQL will not keep running.
3. call function by following command and dun open the connection again.
ContractorDAO conDAO = new ContractorDAO();
conDAO.setConnection(conn);
try {
conn = DatabaseManager.getConnection();
log.info("TRY : JobSvc.APP_ID...................." + JobSvc.APP_ID);
log.info("TRY : JobSvc.RCW_VIEW...................." + JobSvc.RCW_VIEW);
log.info("TRY : userId................." + userId);
log.info("TRY : theForm.getCurrentUserIdInt()................." + theForm.getCurrentUserIdInt());
log.info("TRY : Check siteCode !!! ......................." + siteCode );
log.info("check isEmpty() --------------------------> : " + errors.isEmpty());
// check conn is null
if (conn == null || conn.isClosed()) {
conn = null;
log.error("conn == null || conn.isClosed()");
errors.add("SystemError", new ActionMessage("hrms.error.systemError"));
forwardmapping = "result";
return mapping.findForward(forwardmapping);
}
// check conn ok and then check access right
//if (!ValidateAccess.canAccessBySiteCodeServiceIdUserId(conn, siteCode, JobSvc.RCW_CONTRACTOR_REPORT, userId)){
/******* Access right ***********************
if (!ValidateAccess.canAccessBySiteCodeServiceIdUserId(conn, siteCode, JobSvc.RCW_VIEW, userId)){
errors.add("accessrights",new ActionMessage("error.access.norights"));
saveErrors(request,errors);
if (conn == null && !conn.isClosed()) {
conn.close();
conn = null;
}
return mapping.findForward("Error");
}
******* Access right ***********************/
}
// set the contractor list
ContractorDAO conDAO = new ContractorDAO();
conDAO.setConnection(conn);
catch (ExceedLimitException e){
try {if (conn!=null && !conn.isClosed()) {
conn.rollback();}
} catch (SQLException ec){}
log.error("RcwOutputAction Exception" + e);
errors.add("loadExceed" ,new ActionMessage("error.rcw.result.exceed1000"));
} catch (Exception ex) {
try {if (conn!=null && !conn.isClosed()) {
conn.rollback();}
} catch (SQLException ec){}
log.error("RcwOutputAction Exception" + ex);
ex.printStackTrace();
errors.add("load" ,new ActionMessage("error.loadError"));
} finally{
request.setAttribute("totalRecord",totalRecord); // send the totalRecord to the Result JSP page
try {
if (conn != null) {
conn.close();
conn = null;
}
}
catch (Exception e) {}
}
if (errors.isEmpty()) {
action = RcwOutputFileForm.ACTION_LIST;
} else {
action = RcwOutputFileForm.ACTION_SEARCH;
}
}//end if : action_list
log.info("check isEmpty() --------------------------> : " + errors.isEmpty());
if (action != null && action.equals(RcwOutputFileForm.ACTION_SEARCH)){
log.info("ACTION_SEARCH : " + action);
forwardmapping = RcwOutputFileForm.ACTION_SEARCH;
}
if (!errors.isEmpty()){
saveErrors(request,errors);
log.error("error is not empty!");
}
log.info("forwardmapping: " + forwardmapping);
return mapping.findForward(forwardmapping);
2. set the conn.rollback(); when the error happen and set the SQL will not keep running.
3. call function by following command and dun open the connection again.
ContractorDAO conDAO = new ContractorDAO();
conDAO.setConnection(conn);
try {
conn = DatabaseManager.getConnection();
log.info("TRY : JobSvc.APP_ID...................." + JobSvc.APP_ID);
log.info("TRY : JobSvc.RCW_VIEW...................." + JobSvc.RCW_VIEW);
log.info("TRY : userId................." + userId);
log.info("TRY : theForm.getCurrentUserIdInt()................." + theForm.getCurrentUserIdInt());
log.info("TRY : Check siteCode !!! ......................." + siteCode );
log.info("check isEmpty() --------------------------> : " + errors.isEmpty());
// check conn is null
if (conn == null || conn.isClosed()) {
conn = null;
log.error("conn == null || conn.isClosed()");
errors.add("SystemError", new ActionMessage("hrms.error.systemError"));
forwardmapping = "result";
return mapping.findForward(forwardmapping);
}
// check conn ok and then check access right
//if (!ValidateAccess.canAccessBySiteCodeServiceIdUserId(conn, siteCode, JobSvc.RCW_CONTRACTOR_REPORT, userId)){
/******* Access right ***********************
if (!ValidateAccess.canAccessBySiteCodeServiceIdUserId(conn, siteCode, JobSvc.RCW_VIEW, userId)){
errors.add("accessrights",new ActionMessage("error.access.norights"));
saveErrors(request,errors);
if (conn == null && !conn.isClosed()) {
conn.close();
conn = null;
}
return mapping.findForward("Error");
}
******* Access right ***********************/
}
// set the contractor list
ContractorDAO conDAO = new ContractorDAO();
conDAO.setConnection(conn);
catch (ExceedLimitException e){
try {if (conn!=null && !conn.isClosed()) {
conn.rollback();}
} catch (SQLException ec){}
log.error("RcwOutputAction Exception" + e);
errors.add("loadExceed" ,new ActionMessage("error.rcw.result.exceed1000"));
} catch (Exception ex) {
try {if (conn!=null && !conn.isClosed()) {
conn.rollback();}
} catch (SQLException ec){}
log.error("RcwOutputAction Exception" + ex);
ex.printStackTrace();
errors.add("load" ,new ActionMessage("error.loadError"));
} finally{
request.setAttribute("totalRecord",totalRecord); // send the totalRecord to the Result JSP page
try {
if (conn != null) {
conn.close();
conn = null;
}
}
catch (Exception e) {}
}
if (errors.isEmpty()) {
action = RcwOutputFileForm.ACTION_LIST;
} else {
action = RcwOutputFileForm.ACTION_SEARCH;
}
}//end if : action_list
log.info("check isEmpty() --------------------------> : " + errors.isEmpty());
if (action != null && action.equals(RcwOutputFileForm.ACTION_SEARCH)){
log.info("ACTION_SEARCH : " + action);
forwardmapping = RcwOutputFileForm.ACTION_SEARCH;
}
if (!errors.isEmpty()){
saveErrors(request,errors);
log.error("error is not empty!");
}
log.info("forwardmapping: " + forwardmapping);
return mapping.findForward(forwardmapping);
hidden variable
it is not allow and will get error!!!
以下簡單的說明步驟,一般在AntiVir 原廠還沒有修改程式前,應該都還有效,我自己也是這樣弄,到現在都還沒出現過那個惱人的廣告視窗,大家可以試試看唷。
AntiVir 免費防毒軟體下載位址:http://briian.com/?p=533 (下載、安裝與設定介紹)
設定方法:
第1步 從桌面左下角的〔開始〕→【控制台】,開啟控制台視窗後,找到「系統管理工具」,在「系統管理工具」圖示上按兩下。
第2步 接著在「本機安全性原則」上按兩下滑鼠左鍵。
第3步 開啟「本機安全性設定值」視窗後,在右邊選單找到【軟體限制原則】→【其他原則】,在【其他原則】上按一下滑鼠右鍵並點選【新增路徑規劃】。
第4步 接著按一下〔瀏覽〕按鈕,選取「C:\Program Files\AntiVir PersonalEdition Classic\avnotify.dll」這個檔案,然後點選「安全性等級」下拉選單中的【不允許】,表示不讓這個dll檔執行。設定完成後,再按下 〔確定〕按鈕。
第5步 接著,依照前面第3~第4步驟在操作一遍,這次選取「C:\Program Files\AntiVir PersonalEdition Classic\avnotify.exe」這個檔案,設定完成後,再按下〔確定〕按鈕。
第6步 如圖,全部設定好之後,我們可以看到「本機安全性設定值」視窗中多出兩個新的限制規則,確定路徑跟檔名都沒有錯之後,關掉此視窗。以後,AntiVir防毒軟體運作時,便不會再出現煩人的廣告視窗囉。
其他章節:
訂閱:
文章 (Atom)