Recommended way to clean up a component?
Phil Surette <[email protected]>
| Newsgroups | gmane.comp.java.tapestry.devel |
|---|---|
| Message-ID | <[email protected]> |
I have some components that retrieve and store a copy of a db object in a
local variable which is accessed many times by the component. The object is
lazily loaded like this:
Object getCachedDBObject() {
if (m_cachedDBObject == null) {
m_cachedDBObject = retrieveObjectFromDB();
}
return m_cachedDBObject;
}
At the end of the current cycle, m_cachedDBObject needs to be nulled out so
the next time the component is used it'll get a new copy.
What's the best way to do this? Right now I'm making my components implement
PageDetachListener and override finishLoad() like this:
public finishLoad() {
getPage().addPageDetachListener(this);
}
public void pageDetached(PageEvent pageEvent){
m_cachedDBObject = null;
}
Is this the right way to do it? Is there a better way? I tried overriding
cleanUpAfterRender but that didn't seem to work... could easily have been
user error though.