- PR -

An I/O error occured while sending to the backend.

1
投稿者投稿内容
未記入
会議室デビュー日: 2004/01/29
投稿数: 1
投稿日時: 2006-03-03 11:35
現在StrutsにてPostgreSQLデータベースへのアクセスを行っているのですが、
An I/O error occured while sending to the backend.
というエラーメッセージが出力され、解決できずに困っています。
(詳細エラーログは下記に記述しています。)

元々はWEBサーバ上にDBが存在していた為、sturts-config.xmlの設定では
localhostを使用していたのですが、今回DBを別サーバにする事となった為、
下記のように変更したのですが、サーバを切り替えたところ上記エラーが
発生するようになりました。

[struts-config.xmlの設定]
-----------------------------
<data-sources>
<data-source>

<set-property
property="description"
value="Data Source Configuration"/>
<set-property
property="driverClass"
value="org.postgresql.Driver" />
<!-- // 変更前はこちらを使用
<set-property
property="url"
value="jdbc:postgresql://localhost/(DB名)?charSet=EUC-JP" />
-->
<set-property
property="url"
value="jdbc:postgresql://(DBサーバのIPアドレス)Port番号)/(DB名)?charSet=EUC-JP" />
<set-property
property="autoCommit"
value="false" />
<set-property
property="user"
value="(DBユーザ名)" />
<set-property
property="password"
value="(DBパスワード)" />
<set-property
property="maxCount"
value="10"/>
<set-property
property="minCount"
value="2"/>

</data-source>
</data-sources>
-----------------------------

Strutsを使用せずにDBアクセスしているシステムについては
DBよりデータの取得が出来ており、こちらは問題ありません。
(server.xmlにDataSourceの設定を行い、JNDIを使用してDBアクセスしています。
また、DBのurl設定およびJDBCドライバは同じです。)

上記の結果を踏まえると、Strutsで設定したDataSourceを使用する場合のみ
当エラーが発生しているように思われます。

このような現象の解決方法をご存知の方がおられましたら、
ご回答の程宜しくお願い致します。


[エラーログの詳細]
--------------------------------------
org.postgresql.util.PSQLException: An I/O error occured while sending to the backend.
at org.postgresql.core.v2.QueryExecutorImpl.execute(QueryExecutorImpl.java:369)
at org.postgresql.core.v2.QueryExecutorImpl.execute(QueryExecutorImpl.java:258)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:429)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:348)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:302)
           :
           :
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:716)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
           :
           :
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.ajp.tomcat4.Ajp13Processor.process(Ajp13Processor.java:409)
at org.apache.ajp.tomcat4.Ajp13Processor.run(Ajp13Processor.java:528)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:66)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:124)
at org.postgresql.core.PGStream.flush(PGStream.java:500)
at org.postgresql.core.v2.QueryExecutorImpl.sendQuery(QueryExecutorImpl.java:398)
at org.postgresql.core.v2.QueryExecutorImpl.execute(QueryExecutorImpl.java:363)
... 42 more
--------------------------------------
1

スキルアップ/キャリアアップ(JOB@IT)