If you have a ComponentClassTransformWorker that converts the
annotation into meta-data on the ComponentModel, then you can just get
the correct ComponentModel without loading the page itself.

On Thu, Jul 30, 2009 at 1:35 PM, Robert Zeigler<robe...@scazdl.org> wrote:
>
> On Jul 29, 2009, at 7/297:00 PM , Thiago H. de Paula Figueiredo wrote:
>
>> Hi!
>>
>> I'm working on a security package for Tapestry (to be open-sourced soon)
>> and I'm following the typical Dispatcher-based approach. Now I need to check
>> if the requested page has a given annotation and read its values. This
>> already works. I also want my dispatcher to get the annotation presence and
>> values when a page class is live reloaded.
>>
>> I'm using ComponentClassResolver to map page names (user/edit) to their
>> page classes names, get the Class instance and then get the annotation
>> values. But, without an application restart, my dispatcher doesn't see the
>> new annotation values. I could use ComponentSource.getPage(), but it checks
>> out a page instance from the pool and invokes Page.attached(). I suspect
>> this hurt perfomance, as the page checkout would be too heavy to be executed
>> twice per request (one in the security dispatcher, other to process the page
>> render/event itself).
>>
>> Any suggestions? Am I right in the assumption that using
>> PageCache.checkout() to do security checks would hurt performance?
>>
>
> Well, if you use ComponentSource, it will take advantage of the
> RequestPageCache, so you'll only checkout the page once per request.  Given
> that it's the page the user is requesting, it shouldn't really hit
> performance any more than just returning the page to the user.  If you use
> the PagePool directly, you run the risk of checking out multiple copies of
> the page per request, and that would definitely have an impact on
> performance.
>
>
> Robert
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>



-- 
Howard M. Lewis Ship

Creator of Apache Tapestry
Director of Open Source Technology at Formos

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to