From 6b29dc876fe185881d46731c3ae170478a3828fe Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Valim?= <jose.valim@gmail.com>
Date: Mon, 12 Jul 2010 20:18:54 +0200
Subject: Just add connection management middleware if running in a concurrent
 environment.

---
 activerecord/lib/active_record/railtie.rb | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

(limited to 'activerecord/lib')

diff --git a/activerecord/lib/active_record/railtie.rb b/activerecord/lib/active_record/railtie.rb
index 2808e199fe..eff51a7c87 100644
--- a/activerecord/lib/active_record/railtie.rb
+++ b/activerecord/lib/active_record/railtie.rb
@@ -16,11 +16,7 @@ module ActiveRecord
     config.generators.orm :active_record, :migration => true,
                                           :timestamps => true
 
-    config.app_middleware.insert_after "::ActionDispatch::Callbacks",
-      "ActiveRecord::QueryCache"
-
-    config.app_middleware.insert_after "::ActionDispatch::Callbacks",
-      "ActiveRecord::ConnectionAdapters::ConnectionManagement"
+    config.app_middleware.insert_after "::ActionDispatch::Callbacks", "ActiveRecord::QueryCache"
 
     rake_tasks do
       load "active_record/railties/databases.rake"
@@ -72,6 +68,13 @@ module ActiveRecord
       end
     end
 
+    initializer "active_record.add_concurrency_middleware" do |app|
+      if app.config.allow_concurrency
+        app.config.middleware.insert_after "::ActionDispatch::Callbacks",
+          "ActiveRecord::ConnectionAdapters::ConnectionManagement"
+      end
+    end
+
     config.after_initialize do
       ActiveSupport.on_load(:active_record) do
         instantiate_observers
-- 
cgit v1.2.3