大家好,我正在尝试使用 Integrant 库来进行状态管理。在管理(启动/停止)服务器时非常直观,但我对某个特定用例感到困惑。
我想使用 Integrant 来实例化和销毁一个对象。像我平常一样,我定义了 defmethods init-key
和 halt-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?