Jsf 2 @在PhaseListener中未调用后构造

Jsf 2 @在PhaseListener中未调用后构造,jsf-2,cdi,postconstruct,phaselistener,Jsf 2,Cdi,Postconstruct,Phaselistener,我将jsf2.2与wildfly 8.1和javaee7一起使用 我在phaselistener中的CDIBean注入按预期工作,但@PostConstuct方法从未涉及 我试着用@javax.enterprise.context.ApplicationScope、SessionScope和Dependent注释phaselistener,但没有用 除了命名,这正是我在我的文章结构中所做的事情 //@ApplicationScope //@SessionScope //@Dependent pu

我将jsf2.2与wildfly 8.1和javaee7一起使用

我在phaselistener中的CDIBean注入按预期工作,但@PostConstuct方法从未涉及

我试着用@javax.enterprise.context.ApplicationScope、SessionScope和Dependent注释phaselistener,但没有用

除了命名,这正是我在我的文章结构中所做的事情

//@ApplicationScope
//@SessionScope
//@Dependent
public class MyPhaseListener implements PhaseListener {

   @Inject
   @Any
   private Instance<MyOrderedUrlHandler> myOrderedUrlhandlers;
   private Map<String, List<MyOrderedUrlHandler> orderedUrlHandlersMap;

   @PostConstruct
   void mapOrderedUrlHandlers() {
      LOG.info("Executing postconstruct");
      orderedUrlHandlersMap = Maps.newHashMap();

      for(final MyOrderedUrlHandler urlhandler : myOrderedUrlhandlers) {
         final String handles = urlhandler.url();
         final List<MyOrderedUrlHandler> registeredHandlers = orderedUrlHandlersMap.get(handles);

         if(registeredHandlers == null) {
            registeredHandlers = Lists.newArraList();
         }
         registeredHandlers.add(urlHandler);
         orderedUrlHandlersMap.put(handles, registeredHandlers);
      }
   }
}
/@ApplicationScope
//@会话范围
//@依赖的
公共类MyPhaseListener实现了PhaseListener{
@注入
@任何
私有实例myOrdereUrlHandlers;

私有映射根据的第5.4.1节,
PhaseListener
不是托管bean,而是可注入的

根据第5.4.2节,托管bean必须支持生命周期注释
@PostConstruct
@PreDestroy


由于
PhaseListener
不是JSF意义上的托管bean,因此根据规范,PhaseListener实现必须支持
@PostConstruct

PhaseListener
不是托管bean,而是可注入的

根据第5.4.2节,托管bean必须支持生命周期注释
@PostConstruct
@PreDestroy


由于
PhaseListener
不是JSF意义上的托管bean,因此根据规范,PhaseListener实现必须支持
@PostConstruct

PhaseListener
不是托管bean,而是可注入的

根据第5.4.2节,托管bean必须支持生命周期注释
@PostConstruct
@PreDestroy


由于
PhaseListener
不是JSF意义上的托管bean,因此根据规范,PhaseListener实现必须支持
@PostConstruct

PhaseListener
不是托管bean,而是可注入的

根据第5.4.2节,托管bean必须支持生命周期注释
@PostConstruct
@PreDestroy



由于
PhaseListener
不是JSF意义上的托管bean,它不符合规范要求,即一个阶段侦听器实现必须支持
@PostConstruct

显示您的代码。您可能违反了
@PostConstruct
的合同,如果您和一个显式默认构造函数呢?@Kukeltjeean默认构造函数?调用了phaselistener,问题是没有调用“@PostConstruct”。显式默认构造函数在这种情况下有什么帮助?我看到它已经得到了回答。这只是一个猜测,因为我以前注意到过(不再确定何时何地)一个缺少的构造函数阻止了另一个带注释的方法正常工作。幸运的是,现在看来情况并非如此。请显示您的代码。您可能违反了
@PostConstruct
的合同,如果您和一个显式默认构造函数发生冲突怎么办?@Kukeltje默认构造函数是什么意思?调用了phaselistener,问题是没有调用“@PostConstruct”。显式默认构造函数在这种情况下有何帮助?我看到它已经得到了回答。这只是一个猜测,因为我以前注意到过(不再确定何时何地)一个缺少的构造函数阻止了另一个带注释的方法正常工作。幸运的是,现在看来情况并非如此。请显示您的代码。您可能违反了
@PostConstruct
的合同,如果您和一个显式默认构造函数发生冲突怎么办?@Kukeltje默认构造函数是什么意思?调用了phaselistener,问题是没有调用“@PostConstruct”。显式默认构造函数在这种情况下有何帮助?我看到它已经得到了回答。这只是一个猜测,因为我以前注意到过(不再确定何时何地)一个缺少的构造函数阻止了另一个带注释的方法正常工作。幸运的是,现在看来情况并非如此。请显示您的代码。您可能违反了
@PostConstruct
的合同,如果您和一个显式默认构造函数发生冲突怎么办?@Kukeltje默认构造函数是什么意思?调用了phaselistener,问题是没有调用“@PostConstruct”。显式默认构造函数在这种情况下有何帮助?我看到它已经得到了回答。这只是一个猜测,因为我以前注意到过(不再确定何时何地)一个缺少的构造函数阻止了另一个带注释的方法正常工作。幸运的是,现在情况似乎不是这样,即使我接受这个答案,在没有生命周期事件支持的情况下支持依赖项注入似乎有点奇怪。即使我接受这个答案,支持依赖项注入似乎有点奇怪RTE没有生命周期事件支持。尽管我接受这个答案,但在没有生命周期事件支持的情况下支持依赖项注入似乎有点奇怪。尽管我接受这个答案,但在没有生命周期事件支持的情况下支持依赖项注入似乎有点奇怪。