prettyfaces处理器生命周期

问题描述:

im使用相当面对重写我的网址,并使用com.ocpsoft.pretty.faces.rewrite.Processor林;我注意到,这在加载URL时多次过滤它的invoque,所以当我访问我的数据库来加载一些数据时,这是非常低效的。prettyfaces处理器生命周期

我要的是把处理器在applicationScope所以它不染,并提供给所有用户,这样我不会有创造好几次我的服务组件。

有什么建议吗?

不知道,如果它是适用于Processor,但你可以尝试禁用development模式:

<context-param> 
    <param-name>com.ocpsoft.pretty.DEVELOPMENT</param-name> 
    <param-value>false</param-value> 
</context-param> 

详见this thread

+0

不幸的是,禁止发展模式将在这里没有任何影响。这些特殊功能不会改变dev和prod模式之间的行为。 – Lincoln 2012-04-01 05:54:12

+0

谢谢,至少它会提高我的表现。 – IturPablo 2012-04-01 15:42:38

+0

@IturPablo,你最好去@Lincoln而他的周围,没有人知道的主题比他好,他的'PrettyFaces')) – Osw 2012-04-01 20:29:59

定制的处理器会为每个请求创建一次 - https://github.com/ocpsoft/prettyfaces/blob/3.x/core/src/main/java/com/ocpsoft/pretty/faces/rewrite/processor/CustomClassProcessor.java

如果您需要能够做这样的整合,特别是如果你想尽可能长的配置元素的生活为您的应用程序,然后我可能会问你正在试图用它做什么,因为PrettyFaces处理器虽然可以用于此,但它不是很灵活,而...

OCPsoft Rewrite - URLRewriteFilter(PrettyFaces 4的核心)能够集成CDI为您的配置,并为您提供更多的权力比你以前曾经从PrettyFaces处理器,同时还例如,使事情变得更简单...:你可能はnt使用CDI集成来限定您的配置,或注入数据库访问类。

https://github.com/ocpsoft/rewrite/tree/master/integration-cdi

你将不得不使用重写,今天更多的控制(或者PrettyFaces4当它被释放。)

+0

喜一书的作者,我设法注入我的春天已经依赖;)(顺便说一句伟大的工作)。那么现在如果我从HttpConfigurationProvider扩展,我将能够设置它的范围? – IturPablo 2012-04-01 15:46:13

+0

只实现了getConfiguration()方法,并返回ConfigurationBuilder.create()...(此处添加您的规则)。 – Lincoln 2012-04-03 14:19:27