私はこのエラーをしばらく追跡していますが、不規則なベースで予期せぬことが起こり、今のところそれを再現する方法が見つかりませんでした。 dbの別のOracle 10g XEをホスティングjava.sql.SQLException:60秒でロックを取得することができません
当社の環境
- のLinuxのCentOS 5.3 1台のJBoss 5.1アプリケーションサーバーをホスティング
- のLinuxのCentOS 5.3のホスティング1のOracle 10g XEのDB
- のWindows Server 2003 R2
プログラミング環境
- シーム2.1
- JSF 1.2
を休止状態このエラーのほとんどは、 "アプリケーション" スコープのSeamコンポーネントで発生、それはまたelswhere起こりました。
WeaはデータベースにアクセスするためにXA-datasourceを使用しています。
これは、tisがjboss 5.1 look hereの何らかのバグでもあるように見えますが、60秒間のクエリやリクエストはありません。
この種のエラーにはどのような原因が考えられますか?
エラーの最終スタックトレース:
Caused by: java.sql.SQLException: Unable to obtain lock in 60 seconds: [email protected] at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.tryLock(BaseWrapperManagedConnection.java:267) at org.jboss.resource.adapter.jdbc.WrappedConnection.lock(WrappedConnection.java:79) at org.jboss.resource.adapter.jdbc.WrappedConnection.prepareStatement(WrappedConnection.java:237) at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:534) at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:452) at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:161) at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1573) at org.hibernate.loader.Loader.doQuery(Loader.java:696) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259) at org.hibernate.loader.Loader.doList(Loader.java:2228)
コンポーネントをロックする '@ Singleton'や他のアノテーションを使用していますか? –
私はスコープ(アプリケーション、セッション)のちょうどseamアノテーションを使用しています – simonC