Hi, I have got some further questions about caching strategy regarding Portlets and Portals. BTW, I use J2.
When multiple Portlets get displayed on a page, it would speed up the Portal if only the portlet whereupon a user interaction happened gets updated. The other Portlets may cache their state in that simply their HTML fragment (or whatever the output format is) gets stored in a persistence layer. The Portal may take responsibility for this (and should, in fact, if one thinks about it more deeply) by providing a configurable framework to do this. Rendering all Portlets on a page, even though only one got updated, obviously costs performance. On the other hand, all Portlets get displayed in their current state when the rendering request gets delegated to each of them. But then again, we often have the nasty situation that the user enters data in different Portlets, one Portlet gets updated, all Portlets render but the entered data may be lost in some or all of them, since the Portlets did not cache the user input properly. Hint: I found a WebSphere White Paper which introduced a thing called "Dynacache" which is able to store HTML snippets from Portlets/Servlets. Here my questions: 1. Are there any resources available, where the raised problems are discussed on a general based. I.e. is it a helpful thing to cache Portlet states at all? If not: Why? 2. What does the portlet specification says about this, or does it leave this subject open to the concrete Portal implementation? 3. How does J2 supports Portlet caching? Are there any cache strategies in control, already? Is there anything planned in the near or far future, or: Is there a certain strategy J2 developers and users should have in mind to comply with what's already there or planned? So this quite a lot asked, I know. Any help is very welcome. Thank you, Sven. > Hi folks, > I am looking into portlet caching a bit in Jetspeed 1.5. We have some > portlets, all subclasses of VelocityPortlet. The data they pull (from > an oracle database) is mostly static, but there are some times where > data changes, and we'd like the portlets to reflect that. All of these > portlets are marked as cacheOnValue, cacheOnName in the registry. > I can tell that the data layer is getting the new data because we have > a search portlet and the results correspond to the changed data. > However, other display portlets don't reflect the changed data until > the server is restarted. > I spend some time in the js1.5 source (thanks, koders.com) and found > that VelocityPortlets are cacheable by default. > A couple of questions: > 1. Can I refresh the portlet cache without restarting my servlet > container? > 2. I was able to find reference to an expiration time in millisecods > (in AbstractPortlet) but didn't see that in the configuration files, > and couldn't find a default value. Is there one? > 3. I think that all that happens after portlets are stale (epxired) is > that their refresh method is called. Is that true? > 4. I'm thinking that turning off cacheOnValue might be a fix for our > situation. Does that make sense? > Thanks, > Dan --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
