- PR -

SocketExceptionについて。

投稿者投稿内容
もぐ
常連さん
会議室デビュー日: 2004/08/23
投稿数: 22
投稿日時: 2004-08-25 13:11
[Ctrl-Break]を使用して、intra-martコンソールにスレッドダンプを表示したのですが、
この、[Ctrl-Break]を使用すると、コンソールが止まってしまいます。
再び動かすには、一度コンソールを落とさないといけないのでしょうか?

宜しければ、お教え頂きたいです。
何度もすみません。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2004-08-25 14:41
コンソールが止まってしまう、とは?
スレッドダンプは DOS プロンプトで解析するのはなかなか苦痛ですからファイルにリダイレクトしておくとよいですよ。スレッドダンプを取得しても JVM は動き続けますので引き続き運用できます。
またスレッドの動きを見るため、複数回に渡って取得することをお勧めいたします。
スレッドダンプの取得についてわからないようであれば別スレッドを立ててはいかがでしょうか?
もぐ
常連さん
会議室デビュー日: 2004/08/23
投稿数: 22
投稿日時: 2004-08-25 14:51
ありがとうございます。
別スレッドを立ててみます。
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2004-08-28 11:04
unibon です。こんにちわ。

引用:

もぐさんの書き込み (2004-08-24 16:18) より:
コンソールには、

java.net.SocketException: Connection reset by peer: socket write error

とだけ吐かれています。


そのスレッドのスタックトレースは表示されないのでしょうか。疑問としては、誰かが RuntimeException を catch して、簡素化して表示しているのでしょうか。それとももともとエラーメッセージはこれだけなのでしょうか。ちなみに他の RuntimeException を故意に出したりした場合はスタックトレースは表示されるのでしょうか。
なお、Sun の Java ならば、Sun のサイトで契約を結べば(「同意する」ボタンを押すだけですが)、Java のランタイムライブラリのソースコードが入手できるので SocketException を throw しているところを探して、上記のエラーメッセージ文字列を作っている個所を特定することはできるかもしれません。
また、Java に限らず、一般に「reset by peer」は、Web アプリケーションではブラウザ側が打ち切れば、サーバー側で出て当たり前なので、これ自体は問題はないと思います。しかし、「reset by peer」が出た際のエラーハンドリングがまずければ問題が出ますが、かといって「reset by peer」自体が悪いわけではないはずです。
もぐ
常連さん
会議室デビュー日: 2004/08/23
投稿数: 22
投稿日時: 2004-08-30 09:25
返信ありがとうございます。

スタックトレースは表示されません。

ところで、Sunのサイトのどこで契約を結べば、ランタイムライブラリのソースが入手できるのでしょうか?すみませんが、教え頂けると大変うれしいです。

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