Method: ActiveRecord::ConnectionAdapters::ConnectionPool#initialize

Defined in:
lib/active_record/connection_adapters/abstract/connection_pool.rb

#initialize(spec) ⇒ ConnectionPool

Creates a new ConnectionPool object. spec is a ConnectionSpecification object which describes database connection information (e.g. adapter, host name, username, password, etc), as well as the maximum size for this ConnectionPool.

The default ConnectionPool maximum size is 5.



68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# File 'lib/active_record/connection_adapters/abstract/connection_pool.rb', line 68

def initialize(spec)
  @spec = spec

  # The cache of reserved connections mapped to threads
  @reserved_connections = {}

  # The mutex used to synchronize pool access
  @connection_mutex = Monitor.new
  @queue = @connection_mutex.new_cond

  # default 5 second timeout unless on ruby 1.9
  @timeout = spec.config[:wait_timeout] || 5

  # default max pool size to 5
  @size = (spec.config[:pool] && spec.config[:pool].to_i) || 5

  @connections = []
  @checked_out = []
end