このページで解決しない高度なJavaのシステム障害はJaTSにお任せください

Trouble 21: 高度な問題



<Q21-1>短時間に連続してデータベースの更新を行うとNullPointerExceptionが発生します。

データベースにログを書き込んでいます。
短時間に大量にログを出力すると、以下のNullPointerExceptionが発生します。


java.lang.NullPointerException
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:310)
         at oracle.jdbc.driver.OracleStatement.cancel(OracleStatement.java:2963)
         at oracle.jdbc.driver.OracleCancelThread.run(OracleCancelThread.java:53)

データベースの更新頻度は、11件/秒程度です。
例外は数万レコードに1回の割合で発生します。

例外発生によってアプリケーションがダウンすることはありませんが、一定時間、処理が停止してしまうため、困っています。この停止時間は、データベースへのアクセスに指定したタイムアウト時間と等しいようです。
ただし、成功時のクエリ実行時間を見ても、タイムアウト時間とはかなりの開きがあり、タイムアウトが発生するようには思えません。

ログも検索対象のため、データベースへの蓄積を止めるわけにもいきません。
アプリケーションのソースコードをチェックしましたが、NullPointerExceptionが発生するような箇所は全くありませんでした。

どんな原因が考えられるでしょうか?

<発生環境>
JDK JDK1.4.2
Vender Sun
DB Oracle 9i Release 2
<A21-1>
上記のようなトラブルは、ぜひJavaシステム障害解決サービス(JaTS)へお問い合わせ下さい。
Page Top

注意:本文書の内容に誤りがあり、またこの文書によって不利益を被っても、
Acroquest Technology 株式会社は一切関知いたしません。

  • 現象別Index
  • 原因別Index

Find Bugsバグ詳細

Find Bugs Bug Descriptions日本語版

RSSで更新情報を取得する

RSSとは、ホームページの更新情報を配信する為のフォーマットです。
RSSを利用すると、登録したページの情報が更新された場合に、更新情報を自動的に受け取る事ができます。

詳細

弊社小森が執筆致しました

Javaでオブジェクト指向開発

Javaプログラミング言語習得において、新人プログラマーの最初の障害は「オブジェクト指向の壁」です。
本書は、Javaのソフトウェア開発を中心に事業を発展させてきたAcroquest社の新人教育セミナーを加筆・書籍化したもので、大卒の新人に対して、ゼロからJava言語を教えてきた実績をフィードバックしています。

メールマガジン配信中

Javaトラブルシューティングのメルマガをはじめました!是非ご購読ください

詳細