[Seasar-user:18722] Re: [S2Axis2]SAStrutsのAcitonから呼び出した際にソケットクローズされない

秋山 俊郎 [E-MAIL ADDRESS DELETED]
2009年 10月 22日 (木) 00:31:34 JST


秋山です。
いつもサポートありがとうございます。

途中結果ですが、結果から申しますと
ご教授のとおり、client.diconで HTTP/1.0 を設定しても変わりませんでした。

s2Axis2内のソースを追いかけて値が設定されているところまで
確認しました。Axis2のソースがないとできないような設定だったかと
思います。
今手元にdiconがないため添付できなくてすみません。

本日調査したところ、サーバ側(Apache+Webサービス)ではなく、クライアント側
(SAStruts+S2Axis2)のコネクションがCLOSE_WAITになっているいることを理解し
ました。
(実は同一マシンなのでわかりずらかったのです。)

ですので、サーバ側のApacheで対処しても、サーバ側はすでにきちんと
コネクションをきっていたので無意味でした。(事実Webサービス側サーバと
SAStruts内S2Axis2側を別マシンにしたところ、サーバ側は問題なく、クライア
ント側でCLOSE_WAITが大量に残っていました。)

たとえクライアント側でHTTP/1.0で呼び出しても、クライアントでS2Axis2が使
用しているcommons-httpclientがクローズ処理をしていない以上、クライアント
側コネクションは長時間残ると理解しています。
(SaStrutsのActionで呼び出しているためTomcatを落とすまで、もしくは
commons-httpclient内のソケットをキープアライブ設定して接続していれば、
サーバ側はすでに落ちているためOSのキープアライブの時間で落ちると思われま
す。)

ですので、commons-httpclientに手を加えるべくcommons-httpclientのソース
調査を検討していますが、良い対処方法をご存知でしたら、あるいはcommons-
httpclientでクローズを呼び出す方法をどなたかご存知でしたら
お教えいただければ幸いです。

以上よろしくお願いします。

Koichi Kobayashi さんは書きました:
> 小林 (koichik) です.
> 
> Date:    Tue, 20 Oct 2009 01:01:12 +0900
> From:    秋山 俊郎 <[E-MAIL ADDRESS DELETED]>
> To:      [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:18680] [S2Axis2]SAStrutsのAcitonから呼び出した際にソケットクローズされない
> 
>> SAStrutsアクションクラス内のS2Axis2クライアントからWebサービスへアクセス
>> しアクションクラスのメソッドが終了してもソケットのCLOSE_WAITが残るので良
>> い回避策があれば教えていただけないでしょうか?
>>
>> ソースを追うとWebサービスの性能向上のためcommons-httpclient内でコネク
>> ションを使いまわすようなつくりになっているようです。そのためソケットク
>> ローズが走っていないようです。
> 
> HTTP/1.1 では KeepAlive を使うのが標準なので
> そうなっているのでしょう.
> 以下を参考に HTTP/1.0 を使うように設定すれば
> KeepAlive は使われなくなるのではないかと.
> 
> http://ws.apache.org/axis2/1_4/http-transport.html#version_config
> 
> Axis2 の設定ファイル (axis2.xml) については
> 以下を参考に.
> 
> http://ws.apache.org/axis2/1_4/axis2config.html
> 
> それを S2Axis2 で指定するには AbstractAxisConnector の
> properties プロパティで指定できるようです.
> 
> http://s2axis.seasar.org/ja/s2axis2/references.html#ref-dicon-compo-connector
> 
> s2axis2-examples の s2axis2-client.dicon に
> 設定方法がコメントで記述されているのでそれを
> 参考にしてください.
> 
> 



Seasar-user メーリングリストの案内