gpt4 book ai didi

cdi - Helidon MP/Microprofile 的启动/关闭 Hook ?

转载 作者:行者123 更新时间:2023-12-02 19:49:21 26 4
gpt4 key购买 nike

我正在使用 Helidon MP 开发微服务应用程序。到目前为止,我的经历非常棒。但我最终还是在寻找 Helidon MP 的启动/关闭 Hook 。我试图通过搜索和 Helidon Javadoc 找到。但是我找不到任何有用的东西。

Helidon MP/Microprofile 是否提供此类功能?

最佳答案

如果您使用的是 Helidon MP,那么您使用的是 CDI 2.0 under the covers .所以这个问题简化为:“有没有办法在 CDI 容器启动和关闭时收到通知?”

如果你有一个 CDI bean(通常是用 @ApplicationScoped@Dependent@RequestScoped 注释的东西),那么你可以添加一个observer method context 时通知它由特定范围注释(例如 ApplicationScoped )表示的被初始化或销毁。应用程序作用域的初始化几乎是您想要的,因为它大致等同于“应用程序启动时”,所以下面是您在任何 CDI 应用程序(包括 Helidon MP)中执行此操作的方法:

import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.event.Initialized;
import javax.enterprise.event.Observes;

private final void onStartup(@Observes @Initialized(ApplicationScoped.class) final Object event) {
// Do what you want; the CDI container has come up and everything
// is open for business
}

如果您想在一切崩溃之前就知道,您可以这样做:

private final void rightBeforeShutdown(@Observes @BeforeDestroyed(ApplicationScoped.class) final Object event) {
// Do what you want; the CDI container is just about to go down
}

请注意as documented in the specification观察者方法可以任意命名,必须有一个用 @Observes 注释的参数, 通常返回 void 并且可以是任何保护级别。

关于cdi - Helidon MP/Microprofile 的启动/关闭 Hook ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58534994/

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