2010-10-26 13 views
1

J'ai une application Jruby qui fait tourner plusieurs threads Java en arrière-plan qui partagent une connexion ActiveRecord (2.3.5). S'ils dorment pendant un certain temps et essaient ensuite de faire quelque chose lié à la base de données, les premières requêtes ne s'exécutent jamais. Je crois que c'est parce que les connexions sont périmées, mais le code lui-même ne jette aucune erreur.Jruby Activerecord me donne des connexions obsolètes

J'ai essayé de faire un ActiveRecord :: Base.connection.verify! mais ça craint toujours. J'utilise ActiveRecord jdbcmysql 0.9.7 mais j'essaie maintenant le 1.0.2 le plus récent pour voir si cela aide.

+0

Pouvez-vous fournir un petit exemple de script? – Rob

Répondre

0

Nous avons eu le problème exact, la solution est d'appeler la ligne de code ci-dessous à la fin du fil.

ActiveRecord::Base.clear_active_connections!