加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 处理容器停止/重新加载事件

发布时间:2020-12-16 18:44:48 所属栏目:安全 来源:网络整理
导读:有一个提升应用程序在Boot. scala中启动ssh守护程序. 这是问题:当我运行容器时:在sbt会话中重启/我在使用异常中获得地址. 现在有两个问题: 在Boot.scala中启动依赖服务是正确的方法吗? 无论如何如何处理容器:停止事件? 解决方法 我认为Lift-y的方法是
有一个提升应用程序在Boot. scala中启动ssh守护程序.
这是问题:当我运行容器时:在sbt会话中重启/我在使用异常中获得地址.
现在有两个问题:

>在Boot.scala中启动依赖服务是正确的方法吗?
>无论如何如何处理容器:停止事件?

解决方法

我认为Lift-y的方法是使用 LiftRules.unloadHooks.

它没有详细记录(AFAIK),但如果您查看Lift源代码,您将看到当LiftServlet为destroy()时,将执行LiftRules.unloadHooks中定义的函数.

您可以使用append或prepend方法向unloadHooks RulesSeq添加函数,具体取决于您希望它们执行的顺序.因此,在您的bootstrap.liftweb.Boot.boot方法中,您可能会执行以下操作:

sshDaemon.start()
LiftRules.unloadHooks.append( () => sshDaemon.stop() )

(假设您是如何启动并停止SSH守护程序的.)

我不是100%确定在运行sbt web-plugin的container:restart命令时调用LiftServlet.destroy()方法 – 这是由插件及其与Jetty的交互决定的,而不是由Lift – 而是container:stop命令绝对应该做的伎俩.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读