嗨,大家好,我正在尝试使用 Integrant 库进行状态管理。在管理(启动/停止)服务器时非常直观,但我对某个用例感到困惑。
我想使用 Integrant 来创建和销毁一个对象。像往常一样,我定义了 defmethods init-key
和 halt-key!
。问题是我想在 init-key 中从初始化的对象获取引用。有没有一种惯用的方式来做这件事?我是否应该在 init-key 期间将其保持在 atom 中?
(defmethod ig/init-key :my-space/my-key [_ opts]
(let [account-id (:account-id opts)
license-key (:license-key opts)]
(MyObject. account-id license-key)))
;;How do I use the instantiated my object?