On Sat, May 11, 2013 at 1:20 PM, Dmitry Gusev <dmitry.gu...@gmail.com>wrote:
> This may work... but how would I know which services I need for that page? > I want as much as possible. > > I did some research and found that there's no such global option. > > I did some reflection hack to call eagerLoad() on service definitions from > ServletContextAttributeListener, but that breaks something. > > Everything seems to work at the first look but I wanted to measure page > load time and > found that my TimingFilter (from AppModule.buildTimingFilter()) isn't > executing. > > I can see its created during registry startup but it never gets called... > Not sure why is that, need more research. > > My bad, forgot to contribute that request handler, it works now. And I've found a better, more Tapestry way to implement this -- using ApplicationInitializers: https://gist.github.com/dmitrygusev/5562739 Without initializer: 85,83% unrealized services (218/254) With this initializer: 9,06% unrealized services (23/254) For my app startup time increased 2x, first request time faster approx 2x also. > On Fri, May 10, 2013 at 6:09 PM, Barry Books <trs...@gmail.com> wrote: > >> EagerLoad is a pain when developing. I my opinion you should kill two >> birds >> with one stone. Setup a monitor page that includes the services you want >> to >> eager load and point a website monitor at it. Then it takes the startup >> hit >> instead of your users and you also know when the site is broken. >> >> >> On Fri, May 10, 2013 at 7:27 AM, Lance Java <lance.j...@googlemail.com >> >wrote: >> >> > You can annotate individual service builder methods in AppModule with >> > @EagerLoad. There's also ServiceBindingOptions.eagerLoad() available for >> > bind(). >> > >> > Not sure if there's a global option. >> > >> > > > > -- > Dmitry Gusev > > AnjLab Team > http://anjlab.com > -- Dmitry Gusev AnjLab Team http://anjlab.com