Je suis suivi cette erreur depuis un moment maintenant, il se passe sur une base irrégulière imprévisible et je n'ai pas trouvé un moyen de le reproduire pour le moment.java.sql.SQLException: impossible d'obtenir le verrouillage en 60 secondes
Notre environnement
- CentOS Linux 5.3 Abritant l'un jboss 5.1 application serveur
- CentOS Linux 5.3 Abritant l'un oracle 10g XE db
- windows server 2003 R2 hébergeant un autre oracle 10g XE db
Environnement de programmation
- couture 2.1
- veille prolongée
- JSF 1,2
La plupart de ces erreurs se produit sur une "application" composante de couture de portée, mais il a également arrivé elswhere.
Wea utilise la source de données XA pour accéder aux bases de données.
Il apparaît que c'est aussi une sorte de bogue dans jboss 5.1 look here, mais nous n'avons pas de requêtes ou de requêtes qui durent 60 secondes.
Quelle pourrait être la cause de ce genre d'erreur?
La pile finale trace de l'erreur:
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)
Utilisez-vous '@ Singleton' ou une autre annotation qui verrouille un composant? –
Nous n'utilisons que des annotations de couture pour la portée (APPLICATION, SESSION) – simonC