more jdbc config fixes

This commit is contained in:
Bart Akeley 2017-10-29 19:45:52 -05:00
parent 795e1a8f15
commit 842e78daef
2 changed files with 12 additions and 4 deletions

View file

@ -9,7 +9,7 @@
[compojure "1.5.1"]
[ring/ring-defaults "0.2.1"]
[org.clojure/java.jdbc "0.7.3"]
[org.postgresql/postgresql "42.1.4.jre6"]
[org.postgresql/postgresql "42.1.4"]
[com.mchange/c3p0 "0.9.5.2"]
[ring-middleware-format "0.7.2"]
[org.clojure/data.json "0.2.6"]

View file

@ -5,17 +5,25 @@
[clojure.string :as str])
(:import com.mchange.v2.c3p0.ComboPooledDataSource))
(def db-spec {
:uri (env :database-jdbc-uri)
:password (env :database-password)
:user (env :database-user)
:name (env :database-name)
})
(defn pool
[spec]
(let [cpds (doto (ComboPooledDataSource.)
(.setDriverClass "org.postgresql.Driver")
(.setJdbcUrl (str "jdbc:" (env :database-url)))
; (.setUser (:user spec))
(.setPassword (env :database-password))
(.setJdbcUrl (str "jdbc:" (:uri spec)))
(.setUser (:user spec))
(.setPassword (:password spec))
;; expire excess connections after 30 minutes of inactivity:
(.setMaxIdleTimeExcessConnections (* 30 60))
;; expire connections after 3 hours of inactivity:
(.setMaxIdleTime (* 3 60 60)))]
(println (str "jdbc:" (:url spec)))
{:datasource cpds}))
(def pooled-db (delay (pool db-spec)))