gpt4 book ai didi

java - Spring boot 以编程方式延迟启动Web应用程序

转载 作者:行者123 更新时间:2023-11-30 07:47:10 26 4
gpt4 key购买 nike

我喜欢 Spring Boot,但我不知道/找出如何实现这一点:我有可执行的 Spring 应用程序。我需要 applicationContext,做一些事情,然后启动“webPart”(REST api)。是否可以告诉spring“不要自动启动jetty,我自己启动”,或者我需要自己编写应用程序?

我想做这样的事情。有人知道吗?

@SpringApplication
public class App {
public static void main(String[] args) {
ApplicationContext ctx = SpringApplication.run(App.class, args);
try {
doSth(ctx);
startWeb();
} catch(Exception e) {
clean();
}
}
}

编辑:我想使用“web-part”,但后来当我决定使用时(例如,没有抛出异常......)。我根本不想阻止使用网络上下文。

最佳答案

一种方法是销毁第一个上下文(禁用了 Web),然后启动一个启用了 Web 的新上下文。

ConfigurableApplicationContext ctx = new SpringApplicationBuilder(Application.class).web(false).run(args);

try {
doSomething(ctx);
} catch (Exception e){
//abort
} finally {
ctx.close();
}

//New context has web enabled.
ctx = new SpringApplicationBuilder(Application.class).run(args);
doSomething(ctx);

关于java - Spring boot 以编程方式延迟启动Web应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33754630/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com