Жизненный цикл процессора Prettyfaces - PullRequest
2 голосов
/ 31 марта 2012

Я использую красивые лица, чтобы переписать мои URL, и я использую com.ocpsoft.pretty.faces.rewrite.Processor; Я заметил, что этот фильтр вызывает несколько раз при загрузке URL-адреса, поэтому, когда я захожу в свою БД для загрузки некоторых данных, это крайне неэффективно.

Я хочу поместить процессор в область приложения, чтобы он не окрашивался и был доступен для всех пользователей. Таким образом, мне не придется создавать несколько служебных бинов несколько раз.

Есть предложения?

Ответы [ 2 ]

1 голос
/ 01 апреля 2012

Пользовательский процессор будет создаваться один раз для каждого запроса - 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, когда он будет выпущен).

1 голос
/ 31 марта 2012

Не уверен, применимо ли это к Processor, но вы можете попробовать отключить режим development:

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

Подробнее см. .

...