- - PR -
Servletで応答が帰ってこなくなった
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-04-28 14:11
まずは、解決おめでとうございます。
私も、最近同様の現象に悩まされております。 こちらはまだ解決しておりません。 便乗で申し訳ありませんが、何かヒントにならないかと思い投稿させて頂きました。
これなんですが、他のスレッドで "Thread-40" daemon prio=5 tid=0x2c3f68 nid=0x3a waiting for monitor entry [e0e7f000..e0e81994] . . at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314) at java.sql.DriverManager.getConnection(DriverManager.java:512) - locked <f67971b0> (a java.lang.Class) at java.sql.DriverManager.getConnection(DriverManager.java:171) - locked <f67971b0> (a java.lang.Class) . . となっている箇所はありませんか? 私は、lockがかかるのはこっちが先だと思っています。 それで、その後 registerDriver の登録も出来なくなるような気がしています。 環境は、apache1.3.27,tomcat4.1.24,mod_jk2,oracle と若干違っていますが...。 VMの環境を1.4.1_07に変えてもまた発生してしまいました。 | ||||
|
投稿日時: 2004-04-28 15:49
DriverManager.getConnection() はデッドロックを引き起こす可能性があります。
以下は WLS 5.1 にまつわる記事ですが、WebLogic に限った話ではありません。 ・WLS 5.1.x - Why DriverManager.getConnection() can cause a deadlock http://support.bea.com/application?namespace=askbea&origin=ask_bea_answer.jsp&event=link.view_answer_page_clfydoc&answerpage=solution&page=wls%2FS-09148.htm 回避方法は以下に詳しくかかれています。 http://edocs.beasys.co.jp/weblogic/docs/classdocs/urls.html#structure | ||||
|
投稿日時: 2004-05-20 11:37
結局デッドロックを引き起こす原因はつかめないままでした。 回避策にて一応ロックはかからなくなりました。 情報提供ありがとうございました。 | ||||
