如何在Quarkus扩展中注入配置属性

时间:2019-06-07 13:43:20

标签: java quarkus supersonic

我正在尝试将以下(有效)代码移至扩展名:

@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模块时,该属性未解析(它为null)。

扩展源代码可以为found here

1 个答案:

答案 0 :(得分:0)

通过配置提供程序设法使其以编程方式工作:

@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);
}