luminus-framework/examples

Runtime exception with lein run (HikariPool) guestbook-sente

paulrd opened this issue · 1 comments

I'm getting the following error when I do lein run in the guestbook-sente project:

paul@paul-ThinkPad-X220:~/repos/examples/guestbook-sente$ lein run
[2018-02-12 12:51:25,994][DEBUG][org.jboss.logging] Logging Provider: org.jboss.logging.Log4jLoggerProvider
[2018-02-12 12:51:28,583][INFO][com.zaxxer.hikari.HikariDataSource] HikariPool-0 - is starting.
^[[6;5~[2018-02-12 12:51:58,611][INFO][com.zaxxer.hikari.pool.HikariPool] HikariPool-0 - is closing down.
Exception in thread "main" java.lang.RuntimeException: could not start [#'guestbook.db.core/*db*] due to, compiling:(/tmp/form-init231504433181973597.clj:1:72)
	at clojure.lang.Compiler.load(Compiler.java:7391)
	at clojure.lang.Compiler.loadFile(Compiler.java:7317)
	at clojure.main$load_script.invokeStatic(main.clj:275)
	at clojure.main$init_opt.invokeStatic(main.clj:277)
	at clojure.main$init_opt.invoke(main.clj:277)
	at clojure.main$initialize.invokeStatic(main.clj:308)
	at clojure.main$null_opt.invokeStatic(main.clj:342)
	at clojure.main$null_opt.invoke(main.clj:339)
	at clojure.main$main.invokeStatic(main.clj:421)
	at clojure.main$main.doInvoke(main.clj:384)
	at clojure.lang.RestFn.invoke(RestFn.java:421)
	at clojure.lang.Var.invoke(Var.java:383)
	at clojure.lang.AFn.applyToHelper(AFn.java:156)
	at clojure.lang.Var.applyTo(Var.java:700)
	at clojure.main.main(main.java:37)
Caused by: java.lang.RuntimeException: could not start [#'guestbook.db.core/*db*] due to
	at mount.core$up$fn__100.invoke(core.cljc:92)
	at mount.core$up.invokeStatic(core.cljc:92)
	at mount.core$up.invoke(core.cljc:90)
	at mount.core$bring.invokeStatic(core.cljc:206)
	at mount.core$bring.invoke(core.cljc:198)
	at mount.core$start.invokeStatic(core.cljc:246)
	at mount.core$start.doInvoke(core.cljc:242)
	at clojure.lang.RestFn.invoke(RestFn.java:397)
	at mount.core$start_with_args.invokeStatic(core.cljc:312)
	at mount.core$start_with_args.doInvoke(core.cljc:308)
	at clojure.lang.RestFn.invoke(RestFn.java:410)
	at guestbook.core$start_app.invokeStatic(core.clj:52)
	at guestbook.core$start_app.invoke(core.clj:50)
	at guestbook.core$_main.invokeStatic(core.clj:68)
	at guestbook.core$_main.doInvoke(core.clj:60)
	at clojure.lang.RestFn.invoke(RestFn.java:397)
	at clojure.lang.Var.invoke(Var.java:375)
	at user$eval25373.invokeStatic(form-init231504433181973597.clj:1)
	at user$eval25373.invoke(form-init231504433181973597.clj:1)
	at clojure.lang.Compiler.eval(Compiler.java:6927)
	at clojure.lang.Compiler.eval(Compiler.java:6917)
	at clojure.lang.Compiler.load(Compiler.java:7379)
	... 14 more
Caused by: com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Exception during pool initialization: HikariPool-0 - Connection is not available, request timed out after 30003ms.
	at com.zaxxer.hikari.pool.HikariPool.initializeConnections(HikariPool.java:526)
	at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:136)
	at com.zaxxer.hikari.HikariDataSource.<init>(HikariDataSource.java:71)
	at conman.core$connect_BANG_.invokeStatic(core.clj:66)
	at conman.core$connect_BANG_.invoke(core.clj:62)
	at guestbook.db.core$eval7302$fn__7303.invoke(core.clj:16)
	at mount.core$record_BANG_.invokeStatic(core.cljc:86)
	at mount.core$record_BANG_.invoke(core.cljc:85)
	at mount.core$up$fn__100.invoke(core.cljc:93)
	... 35 more
Caused by: java.sql.SQLTransientConnectionException: HikariPool-0 - Connection is not available, request timed out after 30003ms.
	at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:195)
	at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:147)
	at com.zaxxer.hikari.pool.HikariPool.initializeConnections(HikariPool.java:510)
	... 43 more
Caused by: java.sql.SQLException: No suitable driver found for null
	at org.h2.jdbcx.JdbcDataSource.getJdbcConnection(JdbcDataSource.java:192)
	at org.h2.jdbcx.JdbcDataSource.getConnection(JdbcDataSource.java:161)
	at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:314)
	at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:171)
	at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:436)
	at com.zaxxer.hikari.pool.HikariPool.access$500(HikariPool.java:65)
	at com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:567)
	at com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:560)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

The reason is that the database configuration isn't available in the project. I've added example configuration so that it runs out of the box. You have to follow these steps to get it running:

  • run migrations: lein run migrate
  • compile ClojureScript lein cljsbuild once
  • start the server lein run