首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >xsbt- web -plugin在sbt之外运行web servelet容器?

xsbt- web -plugin在sbt之外运行web servelet容器?
EN

Stack Overflow用户
提问于 2014-12-11 08:30:29
回答 1查看 142关注 0票数 0

我正在使用xsbt-web-plugin来托管我的servelet。使用container:start,它工作得很好。

我现在需要它在后台运行,就像守护进程一样,即使我挂起了,理想情况下,即使机器重新启动。我不希望调用sbt。

我知道这个插件可以打包一个WAR文件,但我没有运行tomcat或任何类似的东西。我只想做container:start做的事情,但要以一种更健壮的(读:非交互)的方式。

(我的目标是做一个dev的演示:我不希望我的ssh会话在人们使用演示时丢弃sbt或类似的东西。但我们还没有为生产做好准备,并且还没有servelet基础设施。)

EN

回答 1

Stack Overflow用户

发布于 2014-12-11 10:27:07

xsbt-web-plugin实际上并不是要充当生产服务器(具有自动重启、故障恢复、在引导时运行等功能),但我理解以这种方式使用它进行小规模开发的好处。

您有几个选项:

优先方法

在screen会话中运行sbt,您可以在不中断sbt的情况下随意(断开)连接。

第二种方法

重写在sbt的退出钩子上触发的shutdown函数,以便容器在sbt停止后继续运行。

对于此方法,请将以下设置添加到sbt配置:

build.sbt:

代码语言:javascript
复制
onLoad in Global := { state => state }

请注意,这将完全覆盖onLoad设置,因此在(不太可能)将其配置为执行其他重要操作的情况下,它们将不会发生。

现在,您可以通过从sbt运行container:start然后退出sbt来启动容器,或者简单地从命令行运行sbt container:start,这将在派生容器JVM之后返回。给它几秒钟,然后您应该能够请求localhost:8080。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27413403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档