我一直在使用lein-ring
一段时间,特别是我觉得非常有帮助的自动重装设施。
虽然我喜欢苹果酒中重新加载的工作流程 - 基于Stuart Sierra的user.clj变体 - 我还有一个用例,其中有一堆微服务从Docker组合开始与command: lein ring server-headless
。
在寻求依赖注入解决方案来改进我的测试/模拟之前,这对我来说在过去几个月里工作得非常好。
随着主机卷安装到各个项目,当我更改组合中任何服务的代码时,lein-ring
负责重新加载,允许我按照我的方式执行集成级别和探索性测试(不重启真的有助于动力)。
但是,我刚刚开始使用component
,并且在没有引入全局系统映射的情况下,我无法看到获得lein-ring
重新加载优势的方法。 / p>
我已经创建了一个最小的重新制作的地方,并希望有人可以建议我的目标是否可行。
https://github.com/codeasone/component-reload-issue
问题:我是否有办法通过lein-ring
实现我想要的重新加载行为,同时还保持component
带来的封装和测试优势没有引入全局system-map
并为demo-routes
添加组件化和DI?