如何在 Quarkus 扩展中注入配置属性
How to inject config properties inside a Quarkus extension
我正在尝试将以下(有效)代码移动到扩展程序中:
@WebListener
public class StartupListener implements ServletContextListener {
@ConfigProperty(name = "javax.faces.PROJECT_STAGE")
String projectStage;
@Override
public void contextInitialized(ServletContextEvent sce) {
sce.getServletContext().setInitParameter("javax.faces.PROJECT_STAGE", projectStage);
}
}
当我将此代码移动到扩展 runtime
模块时,属性 未解析(它为空)。
扩展源代码可以是found here.
设法通过配置提供程序使其以编程方式工作:
@Override
public void contextInitialized(ServletContextEvent sce) {
Config config = ConfigProvider.getConfig();
String projectStage = config.getValue("javax.faces.PROJECT_STAGE", String.class);
sce.getServletContext().setInitParameter("javax.faces.PROJECT_STAGE", projectStage);
}
我正在尝试将以下(有效)代码移动到扩展程序中:
@WebListener
public class StartupListener implements ServletContextListener {
@ConfigProperty(name = "javax.faces.PROJECT_STAGE")
String projectStage;
@Override
public void contextInitialized(ServletContextEvent sce) {
sce.getServletContext().setInitParameter("javax.faces.PROJECT_STAGE", projectStage);
}
}
当我将此代码移动到扩展 runtime
模块时,属性 未解析(它为空)。
扩展源代码可以是found here.
设法通过配置提供程序使其以编程方式工作:
@Override
public void contextInitialized(ServletContextEvent sce) {
Config config = ConfigProvider.getConfig();
String projectStage = config.getValue("javax.faces.PROJECT_STAGE", String.class);
sce.getServletContext().setInitParameter("javax.faces.PROJECT_STAGE", projectStage);
}