■■ Servlet/JSP(EJB含む) 質問スレ ■■
レス数が950を超えています。1000を超えると書き込みができなくなります。
0961nobodyさん
03/04/27 03:56ID:hN6pYWqAを使用してWebアプリケーションの開発を行っているものです。
以下のようにDatasouceからコネクションの取得を行いDB操作を行っています。
try {
InitialContext ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup(jndi);
Connection conn = ds.getConnection();
PreparedStatement stmt = conn.prepareStatement(sql);
stmt.executeQuery();
(省略)
}finally{
if(null != stmt) {stmt.close();}
if(null != conn) {conn.close();}
}
WebSphere起動後の初回のDataSourceからのコネクション取得時に
postgresへの通信プロセスを生成して、それ以降は、そのプロセス
を経由してDBのアクセスを行っています。(以下のようなプロセス)
22318 pts/1 S 0:00 postgres: postgres database 172.16.1.111 idle
DBの障害等で、このプロセスが消滅した以降は、以下の例外が発生しDB操作が出来なくなります。
X Servlet Error: パイプが切断されました: java.io.IOException: パイプが切断されました
at java.net.SocketOutputStream.socketWrite(Native Method)
(省略)
WebSphereの再起動えば、再度DB操作が行えます。
WebSphereの再起動なしに、DBの再接続を行う方法はないものでしょうか?
よろしくお願いします。
レス数が950を超えています。1000を超えると書き込みができなくなります。