如何在Micronaut应用程序中禁用HTTP服务器

4

我有一个 Micronaut 应用程序,它应该在一个容器中运行 SQS 监听器,在另一个容器中运行常规 HTTP 服务器。如何通过配置实现这一目标?我可以使用以下应用程序属性来启用/禁用监听器:

micronaut:
  jms:
    sqs:
      enabled: true

我该如何启用/禁用Web服务器?

PS: 在Spring Boot中,您可以通过 spring.main.web-application-type=NONE 来禁用Web服务器。但是我在Micronaut中没有找到相关的设置。


看起来可以通过每个环境的配置来实现。环境可以是1.监听器2.web。但是您可能需要根据条件启用控制器。更多信息请参见https://docs.micronaut.io/latest/guide/#environments - null
@null 我也可以在属性文件中有条件地执行它,但我的问题仍然存在。我需要设置/取消哪个属性来禁用HTTP服务器? - I.M.MK.XLII
你是否有一个基于Netty的Micronaut应用程序(而不是CLI、gRPC等),并且在启动时想要有条件地启动Netty? - Jeff Scott Brown
@JeffScottBrown 是的,那对我可能有帮助。 - I.M.MK.XLII
你真的需要在启动时做出http服务器决策,还是只想要一个没有http服务器的应用程序? - Jeff Scott Brown
显示剩余2条评论
1个回答

0
另一个提议的想法是基于你的微服务每次启动时都会启动 SQS 监听器和 HTTP 服务器。然后,您可以配置一个环境变量,该变量将在启动时读取。根据此环境变量,您可以在整个应用程序中启用或禁用作为监听器接口或 REST API 接口到 HTTP 应用程序的 Bean。您可以在 Bean、控制器、工厂等上使用 @Requires 注解。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接