问题标签 [spring-shell]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
44 浏览

java - 将 spring boot shell 作为守护进程运行

我有一个带有用于配置的交互式 shell 的 Spring Boot Web 应用程序。我想将我的应用程序作为守护进程运行以启动服务器。当我使用正常运行它时,java -jar app.jar我得到一个交互式外壳,并且我可以使用网络浏览器连接到服务器。但有时我想在 VPS 上将其作为后台运行。

当我使用nohubbash 脚本运行它时,比如跟随它运行但不是作为守护进程,当我关闭 SSH 时它停止工作。

当我使用它作为服务运行ln -s /var/jar-file /etc/init.d/app并调用service app start它时,会出现错误并且无法运行。

当我使用它运行它时,java -jar app.jar > /var/log/app.log 2>&1它启动良好,但通过关闭 SSH 它停止。

0 投票
0 回答
20 浏览

spring-boot - 支持 spring-shell 中“脚本”命令的“错误退出”

目前,当我们在 spring-shell 提示符下触发“脚本”命令时,它会执行文件中存在的所有命令,即使其中一个引发了任何异常(除了ExitRequest)。我在下面的代码中找到了,它只是返回异常作为结果,并且仅当异常是类型Shell.evaluate(Input)时才停止应用程序。ExitRequest有没有办法只为“脚本”命令改变这种行为?

重写“script”命令本身没有意义,因为此代码存在于“Script.java”之外。目前,我有 Overriden "script" 命令,然后用 global flag 包裹Shell.run(InputProvider)调用EXIT_ON_ERROR。然后我创建了一个方面来代理对任何自定义命令的调用。如果advice发现任何异常,它会抛出一个ExitRequestifEXIT_ON_ERROR标志为真,这会导致停止执行脚本文件中的其余命令。

我试过的代码片段

0 投票
0 回答
10 浏览

spring-boot - 在 Heroku 工作节点上启动 Spring Shell 时出现 NullPointerException

最近我们面临一个问题,我们无法再在 Heroku 工作节点上启动 Spring Shell 应用程序。在 shell 应用程序启动后,控制台直接打印java.lang.NullPointerException一百万次(就像有一个循环试图实例化一个 bean 或者一直失败的东西)。

这是一段摘录:

我们使用 Spring Bootv2.6.4和 Spring Shell v2.0.1.RELEASE。Spring Shell 应用程序是容器化的(Docker),我们通常以以下方式启动它:

你们有没有人有一些关于如何解决甚至如何进一步调试的提示或一些东西,即打印异常的整个堆栈跟踪?

这可能与无法JLine在 Docker 容器中与 Heroku 一起使用的方式相关吗?!然而,这在过去就像一种魅力。

如前所述,我们感谢有关如何进一步调试的任何提示或提示。

干杯