new(spec)
  public
  
    
    
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.
   
  
    Show source    
    
      
      def initialize(spec)
        super()
        @spec = spec
        @checkout_timeout = (spec.config[:checkout_timeout] && spec.config[:checkout_timeout].to_f) || 5
        @reaper = Reaper.new(self, (spec.config[:reaping_frequency] && spec.config[:reaping_frequency].to_f))
        @reaper.run
        
        @size = (spec.config[:pool] && spec.config[:pool].to_i) || 5
        
        
        
        
        
        
        
        
        
        
        @thread_cached_conns = Concurrent::Map.new(:initial_capacity => @size)
        @connections         = []
        @automatic_reconnect = true
        
        
        
        @now_connecting = 0
        
        @new_cons_enabled = true
        @available = ConnectionLeasingQueue.new self
      end