Re: Really slow code
cache it in request cycle's metadata -igor On Tue, Jul 24, 2012 at 8:18 PM, Brown, Berlin [GCG-PFS] berlin.br...@primerica.com wrote: With code like this, I have a model and within the 'load' method, I am making a slower call that I don't want to call to get the data again. I may need the result 'bean' for another part of the UI on that particular page and I don't want to make that call again. How can I do this? 1. OnBeforeRender, get a reference to the component and return the defaultmodelobject? 2. Use a field reference in my parent component to the result set? final LoadableDetachableModelBean modelReqList = new LoadableDetachableModelBean() { public Bean load() { return runReallySlowCodeOnlyWantToCallOnce(); } }; - - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
RE: Really slow code
You have any more specifics or an example? Is there a metadata class? -Original Message- From: Igor Vaynberg [mailto:igor.vaynb...@gmail.com] Sent: Tuesday, July 24, 2012 1:34 PM To: users@wicket.apache.org Subject: Re: Really slow code cache it in request cycle's metadata -igor On Tue, Jul 24, 2012 at 8:18 PM, Brown, Berlin [GCG-PFS] berlin.br...@primerica.com wrote: With code like this, I have a model and within the 'load' method, I am making a slower call that I don't want to call to get the data again. I may need the result 'bean' for another part of the UI on that particular page and I don't want to make that call again. How can I do this? 1. OnBeforeRender, get a reference to the component and return the defaultmodelobject? 2. Use a field reference in my parent component to the result set? final LoadableDetachableModelBean modelReqList = new LoadableDetachableModelBean() { public Bean load() { return runReallySlowCodeOnlyWantToCallOnce(); } }; - - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Really slow code
static class MetaDataKeyMyData MYDATA=new MetaDateKeyMyData() {}; ^ thats the type-safe singleton key you use to acces the metadata store checking for metadata MyData data=RequestCycle.get().getMetaData(MYDATA); ^ null means none writing metadata RequestCycle.get().setMetaData(MYDATA, data); -igor On Tue, Jul 24, 2012 at 9:26 PM, Brown, Berlin [GCG-PFS] berlin.br...@primerica.com wrote: You have any more specifics or an example? Is there a metadata class? -Original Message- From: Igor Vaynberg [mailto:igor.vaynb...@gmail.com] Sent: Tuesday, July 24, 2012 1:34 PM To: users@wicket.apache.org Subject: Re: Really slow code cache it in request cycle's metadata -igor On Tue, Jul 24, 2012 at 8:18 PM, Brown, Berlin [GCG-PFS] berlin.br...@primerica.com wrote: With code like this, I have a model and within the 'load' method, I am making a slower call that I don't want to call to get the data again. I may need the result 'bean' for another part of the UI on that particular page and I don't want to make that call again. How can I do this? 1. OnBeforeRender, get a reference to the component and return the defaultmodelobject? 2. Use a field reference in my parent component to the result set? final LoadableDetachableModelBean modelReqList = new LoadableDetachableModelBean() { public Bean load() { return runReallySlowCodeOnlyWantToCallOnce(); } }; - - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
RE: Really slow code
Thanks, I just found some code that uses 'session' as opposed to the request cycle for caching. Does that matter? Or is the requestcycle preferred? getSession().setMetaData -Original Message- From: Igor Vaynberg [mailto:igor.vaynb...@gmail.com] Sent: Tuesday, July 24, 2012 3:20 PM To: users@wicket.apache.org Subject: Re: Really slow code static class MetaDataKeyMyData MYDATA=new MetaDateKeyMyData() {}; ^ thats the type-safe singleton key you use to acces the metadata store checking for metadata MyData data=RequestCycle.get().getMetaData(MYDATA); ^ null means none writing metadata RequestCycle.get().setMetaData(MYDATA, data); -igor On Tue, Jul 24, 2012 at 9:26 PM, Brown, Berlin [GCG-PFS] berlin.br...@primerica.com wrote: You have any more specifics or an example? Is there a metadata class? -Original Message- From: Igor Vaynberg [mailto:igor.vaynb...@gmail.com] Sent: Tuesday, July 24, 2012 1:34 PM To: users@wicket.apache.org Subject: Re: Really slow code cache it in request cycle's metadata -igor On Tue, Jul 24, 2012 at 8:18 PM, Brown, Berlin [GCG-PFS] berlin.br...@primerica.com wrote: With code like this, I have a model and within the 'load' method, I am making a slower call that I don't want to call to get the data again. I may need the result 'bean' for another part of the UI on that particular page and I don't want to make that call again. How can I do this? 1. OnBeforeRender, get a reference to the component and return the defaultmodelobject? 2. Use a field reference in my parent component to the result set? final LoadableDetachableModelBean modelReqList = new LoadableDetachableModelBean() { public Bean load() { return runReallySlowCodeOnlyWantToCallOnce(); } }; - - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Really slow code
Pro: session is a broader scope, so query will happen less often Con: session is serialized so cached value needs to be serializable or transient/detached Con: session is accessed by multiple threads simultaneously, so you need to handle synchronization Your call. :) On Tue, Jul 24, 2012 at 12:46 PM, Brown, Berlin [GCG-PFS] berlin.br...@primerica.com wrote: Thanks, I just found some code that uses 'session' as opposed to the request cycle for caching. Does that matter? Or is the requestcycle preferred? getSession().setMetaData -Original Message- From: Igor Vaynberg [mailto:igor.vaynb...@gmail.com] Sent: Tuesday, July 24, 2012 3:20 PM To: users@wicket.apache.org Subject: Re: Really slow code static class MetaDataKeyMyData MYDATA=new MetaDateKeyMyData() {}; ^ thats the type-safe singleton key you use to acces the metadata store checking for metadata MyData data=RequestCycle.get().getMetaData(MYDATA); ^ null means none writing metadata RequestCycle.get().setMetaData(MYDATA, data); -igor On Tue, Jul 24, 2012 at 9:26 PM, Brown, Berlin [GCG-PFS] berlin.br...@primerica.com wrote: You have any more specifics or an example? Is there a metadata class? -Original Message- From: Igor Vaynberg [mailto:igor.vaynb...@gmail.com] Sent: Tuesday, July 24, 2012 1:34 PM To: users@wicket.apache.org Subject: Re: Really slow code cache it in request cycle's metadata -igor On Tue, Jul 24, 2012 at 8:18 PM, Brown, Berlin [GCG-PFS] berlin.br...@primerica.com wrote: With code like this, I have a model and within the 'load' method, I am making a slower call that I don't want to call to get the data again. I may need the result 'bean' for another part of the UI on that particular page and I don't want to make that call again. How can I do this? 1. OnBeforeRender, get a reference to the component and return the defaultmodelobject? 2. Use a field reference in my parent component to the result set? final LoadableDetachableModelBean modelReqList = new LoadableDetachableModelBean() { public Bean load() { return runReallySlowCodeOnlyWantToCallOnce(); } }; - - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org