『壹』 java.sql.SQLException:Io 錯誤:Broken pipe 什麼意思
這是由於jdbc與資料庫伺服器斷絕連接的時候報出來的,當需要資料庫訪問的時候,卻連接不上
『貳』 伺服器打不開,控制台解釋是broken pipe,求解釋及解決方法。急
程序之所以會出現broken pipe是因為寫入端錯誤發生,導致程序異常退出間接導致broken pipe;解決方法是將段錯誤的原因修改就行了,即將sp = sp->next改成p = p->next。
broken pipe最直接的意思是:寫入端出現的時候,另一端卻休息或退出了,因此造成沒有及時取走管道中的數據,從而系統異常退出。伺服器是計算機的一種,它比普通計算機運行更快、負載更高、價格更貴。
伺服器在網路中為其它客戶機(如PC機、智能手機、ATM等終端甚至是火車系統等大型設備)提供計算或者應用服務。伺服器具有高速的CPU運算能力、長時間的可靠運行、強大的I/O外部數據吞吐能力以及更好的擴展性。
相關信息
伺服器必須具有一定的「可擴展性」,這是因為企業網路不可能長久不變,特別是在當今信息時代。如果伺服器沒有一定的可擴展性,當用戶一增多就不能勝任的話,一台價值幾萬,甚至幾十萬的伺服器在短時間內就要遭到淘汰,這是任何企業都無法承受的。
為了保持可擴展性,通常需要在伺服器上具備一定的可擴展空間和冗餘件(如磁碟陣列架位、PCI和內存條插槽位等)。可擴展性具體體現在硬碟是否可擴充,CPU是否可升級或擴展,系統是否支持WindowsNT、linux或UNIX等多種可選主流操作系統等方面,只有這樣才能保持前期投資為後期充分利用。
『叄』 java.net.SocketException: Broken pipe
先從程序中自查checkoutTimeout。
其次java.net.SocketException: Broken pipe 做什麼操作報出來的錯誤。
第三將鏈接數加大。
第四是否和數據量有關,ORACLE數據是否需要索引優化。
使用虛擬機是否有阻塞的現象,ORACLE是否存在監聽假死。
你給的問題定位不了
『肆』 java.sql.SQLException:Io 錯誤:Broken pipe 什麼意思
java.sql.SQLException:Io 錯誤:Broken pipe 什麼意思這個異常是由於以下幾個原因造成。 1、客戶端再發起請求後沒有等伺服器端相應完,點擊了stop按鈕,導致伺服器端接收到取消請求。 通常情況下是不會有這么無聊的用戶,出現這種情況可能是由於用戶提交了請求,伺服器端相應緩慢,比如業務邏輯有問題等原因,導致頁面過了很久也沒有刷新出來,用戶就有可能取消或重新發起請求。2、Tomcat伺服器在接受用戶請求的時候,有其自身的處理能力,線程、伺服器等各個資源限制,超出Tomcat承載范圍的請求,就會被tomcat停掉,也可能產生該錯誤。 3、linux的線程機制會產生JVM出錯的問題,特別是在連接高峰期間經常出現這樣的問題,tomcat在linux下也出現類似情況。『伍』 java.sql.SQLException:Io 錯誤:Broken pipe 什麼意思
異由於幾原造
1、客戶端再發起請求沒等伺服器端相應完點擊stop按鈕導致伺服器端接收取消請求 通情況聊用戶現種情況能由於用戶提交請求伺服器端相應緩慢比業務邏輯問題等原導致頁面久沒刷新用戶能取消或重新發起請求
2、Tomcat伺服器接受用戶請求候其自身處理能力線程、伺服器等各資源限制超Tomcat承載范圍請求tomcat停掉能產該錯誤
3、linux線程機制產JVM錯問題特別連接高峰期間經現問題tomcatlinux現類似情況
『陸』 java高手來幫忙解決一下錯誤,linux下的,伺服器是tomcat
往一個socket寫一個序列化對象寫了2次,因為網路不穩定,所以有短開重新連接的機制,但是由於兩太機器通過服務代理的方式傳輸,所以server無法發現客護短客戶端退出,這樣造成客戶端列表裡有一個機器一個埠的兩個socket對象,這樣往socket里寫的時候就造成一個對象寫兩次的現象
『柒』 java.net.SocketException: Broken pipe問題
有可能是linux的線程機制會產生JVM出錯的問題,特別是在連接高峰期間經常出現這樣的問題,tomcat在linux下也出現類似情況。
解決辦法是在環境變數中設置:_JAVA_SR_SIGNUM=12 基本就可以解決。
sun的解釋:
--posted by: cooper
Below is a clipping from Sun on working around JVM crashes under high
thread counts in the JVM 1.3 for Linux
On Linux, use a larger signal number for hotspot thread
suspension/resumption handler. The signal number being used is
specified by environment variable _JAVA_SR_SIGNUM. Setting it to a
number larger than SIGSEGV (11) will solve the problem. A good number
to use is 12, which is SIGUSR2. Using signal 16 to work around the
problem might have potential problems. So on tcsh, "setenv
_JAVA_SR_SIGNUM 12" can solve the problem.
『捌』 java.net.SocketException: Broken pipe
網上搜的,能否解決問題,自己試試,你的程序報錯太多
我在百才這里工作,在linux上面跑的程序也出現這樣的情況,也在找原因,以下的給你參考一下吧
-----------------------------------------------------------------------------------------
原因是往一個socket寫一個序列化對象寫了2次,因為網路不穩定,所以有短開重新連接的機制,但是由於兩太機器通過服務代理的方式傳輸,所以server無法發現客護短客戶端退出,這樣造成客戶端列表裡有一個機器一個埠的兩個socket對象,這樣往socket里寫的時候就造成一個對象寫兩次的現象
產生這個問題的原因可能有以下幾個:
1、mysql的驅動的問題,我的驅動是mysql-connector-java-3.1.11-bin.jar
如果有興趣測試話,可以使用其他新版本的mysql驅動來試試吧。
2、防火牆和網路上的問題,或者伺服器發生了crash(有意或無意導致)
同學們可以檢查產生"java.net.SocketException: Broken pipe" 錯誤的時候伺服器、網路是否有異常?
3、應用系統的資料庫連接池導致,最大的可能就是程序上寫的不嚴謹 吼吼!
新手在開發過程中都難避免的失誤:忘記資料庫連接的關閉(純jdbc的操作中常見,不過這個還好找啦,壓力測試中如果看到資料庫連接數多或者乾脆掛掉可以找出原因的);
另外就是提交事物時,在對數據操作中沒有做明確的commit或者rollback,如果忘記了提交commit,在你嘗試使用類似的resultset去操作或者做其他的操作時就有可以能出現這樣的問題,這樣的懸掛著連接一直要等到超時mysql將其kill掉。仔細檢查你應用的事物中是否都做了明確的提交操作呢?或者干錯使用Hibernate,試試C3P0、Proxool這樣的連接池吧。
--------------------------------------------------------------------------------------------
解決的方式加上粗體到URL
jdbc:mysql://localhost:3306/mydatabase?autoReconnect=true%26amp;amp;
useUnicode=true%26amp;amp;characterEncoding=gb2312
--------------------------------------------------------------------------------------------
檢查超時時間;
檢查網路狀態(代理、防火牆。。。)