我使用漂亮的面孔重写我的网址,我使用com.ocpsoft.pretty.faces.rewrite.Processor;我注意到这在加载URL时过滤了几次invoque,所以当我访问我的数据库加载一些数据时,这是非常低效的。
我想要的是将处理器放在applicationScope中,这样它就不会染色并且对所有用户都可用,这样我就不必多次创建我的服务bean了。
有什么建议吗?
答案 0 :(得分:1)
不确定它是否适用于Processor
,但您可以尝试停用development
模式:
<context-param>
<param-name>com.ocpsoft.pretty.DEVELOPMENT</param-name>
<param-value>false</param-value>
</context-param>
有关详细信息,请参阅this thread。
答案 1 :(得分:1)
将为每个请求创建一次自定义处理器 - 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处理器更强大的功能,同时还可以使事情更简单...例如:您可能希望使用CDI集成来调整您的配置范围,或者注入数据库访问类。
https://github.com/ocpsoft/rewrite/tree/master/integration-cdi
今天你可以使用Rewrite进行更多控制(或者发布时使用PrettyFaces4。)