我正在Transactor(EC2)和Datomic(DynamoDB)上运行AWS,过了一段时间,我开始得到以下错误,但我什么都不明白:
:db.error/connection-released The connection has been released.
....此外,我运行我的应用程序一个月前,但没有得到这个错误在当时。
有什么想法吗?,如果这种情况经常发生,我应该在应用程序代码中重新建立数据库连接吗?
发布于 2017-09-15 22:26:03
结果是,当transactor实例重新启动时,我得到了这个错误,因此我找到了一个解决这个问题的方法--下面是代码:
(defn establish-conn
[]
(try
(d/create-database (conf/get :db-uri))
(reset! conn (d/connect (conf/get :db-uri)))
(catch Throwable t
(println "Could not establish db conn." t))))
(defn fix-if-conn-ex
;;getting exception's error message
[err-msg]
(when (str/includes? err-msg ":db.error/connection-released")
(db/establish-conn)))发布于 2017-09-15 19:15:11
您是否曾在DB上调用过发布?这是我认为可能导致这一情况的原因之一,一旦你调用发布,你就不能在应用程序的生命周期中再次使用任何数据连接。连接是非常轻量级的,所以很少有理由调用这个函数。
https://stackoverflow.com/questions/46234708
复制相似问题