项目为标准 Spring Web 项目,其中一些任务(如修复数据,发送邮件)希望在 shell 中通过命令触发,请问这个有什么解决方案么?
现有方案是利用单元测试来执行 这类任务,感觉非常不优雅。
项目为标准 Spring Web 项目,其中一些任务(如修复数据,发送邮件)希望在 shell 中通过命令触发,请问这个有什么解决方案么?
现有方案是利用单元测试来执行 这类任务,感觉非常不优雅。
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
既然是Spring MVC的项目, 你可以在Controller 里定义一些url, 例如 /admin/repair 或 /admin/resend-email之类的。
然后在Shell scripts里面, curl localhost:8080/admin/repair 来发送一个http 请求到那个url去执行你的代码
最好用Spring Security来保护一下/admin/*的url, 同时在你的curl 中加入一些参数来实现验证