嗨,大家好,我正在尝试使用Integrant库进行状态管理。在管理(启动/停止)服务器时,它的操作非常直观,但我对某个特定用例感到困惑。
我想使用Integrant来实例化并销毁一个对象。像我通常那样,我定义了defmethods init-key
和halt-key!
。问题是我想从init-key中获取已初始化对象的引用。有没有一种符合习惯的方式来做这件事?我应该在我的init-key中将其放在一个原子中使其可用吗?
(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?