Spring Shell:是否可以在运行时根据需要启动Spring Shell



我正在docker容器中运行一个spring-boot应用程序作为后端应用程序。我希望能够在容器中执行,并启动shellMethod来执行一些管理内容。是否可以在运行时在容器中启动和停止shell会话?

Spring Shell提供交互式Shell和非交互式模式。

假设Spring Boot 3.0.0和Spring Shell 3.0.0-M3或更新版本:

如果你有这样的命令:

@ShellComponent
public class Cli {
@ShellMethod("Hello world")
public String hello(@ShellOption(defaultValue = "world") String arg1){
return "Hello " + arg1 + "!!";
}
}

然后使用spring-boot-maven插件创建demo:0.0.1-SNAPSHOT,例如:

./mvnw -Pnative clean spring-boot:build-image -DskipTests

您可以直接针对docker映像执行命令,如下所示:

$ docker run -it demo:0.0.1-SNAPSHOT hello FishingIsLife

获取:

Hello FishingIsLife

因此,您不需要启动/停止shell会话,只需使用SpringShell的非交互式模式即可。

最新更新