【发布时间】:2018-02-13 15:50:29
【问题描述】:
我有一个 Scala-Play 2.5.x 应用程序,它实际上是一个“服务容器”,这意味着在某些服务规范下,用户可以热部署服务并且可以执行它们等。一些服务需要通用功能,例如连接到时间序列数据库,例如韩国开发银行。
我想在我的 Play 应用程序中定义知道应用程序何时开始和结束的组件,以便它们可以对其资源进行初始化和关闭。我还需要它们的“状态”,例如 KDB 连接,以便以无缝方式访问已部署的服务,即
- 执行服务的请求被拦截
- 检查服务“要求”,例如服务 X 需要访问特定的 KDB 连接
- 服务通常被实例化并执行,注入使用 IoC 所需的 KDB 连接。
除了“组件”这个概念之外,我拥有上述所有内容。我查看了 Play 书籍,其中讨论了以前的 play.api.Plugin 特征,这是一个好的开始,即它有 onStart onEnd 等,但似乎这个界面在 2.5.x 中消失了。然后我检查了如何创建应用程序模块,但我看到的只是一个 Module 的子类,它覆盖了 def bindings,它做了一堆 IoC,但没有别的。如何覆盖我的应用程序组件的用例,该组件有权播放 Web 应用程序生命周期事件并可以为特定请求提供一些状态?
【问题讨论】:
标签: scala playframework