【发布时间】:2019-06-07 13:43:20
【问题描述】:
我正在尝试将以下(工作)代码移至扩展:
@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。
【问题讨论】:
-
我会让其他人回答问题的核心,但是这个属性真的应该在构建时读取。项目阶段与我们的 dev / test / prod 概念和配置文件的概念很好地映射。这应该在构建时读取并作为构建时引导方法的一部分注入到框架中,而不是作为运行时属性,例如与quarkus.io/guides/extension-authors-guide#bytecode-recording
-
是的,同意,让 javax.faces.PROJECT_STAGE 与 Quarkus 阶段对齐会很好,这样用户甚至不需要在 application.properties 中添加条目(除非想要覆盖默认值舞台行为)
-
你的意思是这样的@EmmanuelBernard? github.com/rmpestano/quarkus-myfaces/blob/…
标签: java quarkus supersonic