Please try Webware from CVS -- there have been fixes in the area of servlet importing since 0.7 (and it looks like you're using an even older version).
Servlet caches are _definitely_ cleared on appserver restart because the servlet cache is entirely in memory. What is it that's leading you to believe otherwise? CanBeReused is not an area that has undergone much testing -- I certainly can't remember ever having tried it. - Geoff > -----Original Message----- > From: Luke Opperman [mailto:[EMAIL PROTECTED]] > Sent: Wednesday, August 14, 2002 12:59 PM > To: [EMAIL PROTECTED] > Subject: [Webware-discuss] Servlet cache, app restart, and canBeReused > > > Hello - > > I've got some issues, some errors that I haven't pinned down, > and some > questions. This is pretty long. > > First some simple questions: How does canBeReused really > affect the servlet > cache? Because I have servlets with that set to 0, which show > up in the Admin > Servlet Cache, and may be requested dozens of times, but the > timestamp doesn't > change[. Also, how does the Servlet Cache interact with > AppServer restarts? I > expected it to be cleared on restart, but apparently not? > (I'm not talking > about PSPs here.) > > Background: Using Webware 7b2, IIS5, Python 2.1, and > FunFormKit, we have a set > of servlets that for odd reasons must have canBeReused=0. > (Otherwise, awake is > not called after the first response cycle. Very odd, but > changing canBeReused > has been our temporary/now-permanent solution.) > > However, at irregular intervals these sets of Servlets (which > are used on all > of our sites, they are the content management backend > functions) start > immediately errorring with the following message: > > Traceback (most recent call last): > File ".\WebKit\Application.py", line 388, in dispatchRequest > self.handleGoodURL(transaction) > File ".\WebKit\Application.py", line 535, in handleGoodURL > self.awake(transaction) > File ".\WebKit\Application.py", line 709, in awake > transaction.awake() > File ".\WebKit\Transaction.py", line 100, in awake > self._servlet.awake(self) > File "e:\...\staff\Content\SiteThing.py", line 8, in awake > File "e:\...\staff\Content\SiteContent.py", line 17, in awake > TypeError: unbound method awake() must be called with > instance as first > argument > > (The servlet hierarchy looks something like: > /staff/Content/index.py (has canBeReused=0) > -> SiteContent.py > -> SiteThing.py > -> add.py > -> edit.py > .... > > and the error may occur on SiteThing, add, edit, or any > other subclass of > SiteContent) > > This error will continue for every request until the > AppServer is restarted. > Even then, usually for the next several AppServer restarts it > will work for one > request and then start giving that error again. After a few > minutes (whether we > leave the AppServer, or repeatedly restart it), an AppServer > restart will fix > it and the problem may not come up for a few days. > > Any thoughts? The awake portions of these base classes are > pretty simple, here > is part of SiteContent.py: > > class SiteContent(index): > > def __init__(self): > index.__init__(self) > self._sectionID = '' > self._thingID='' > self._catID='' > self._formDef='' > > def awake(self, trans): > index.awake(self, trans) > app = self.application() > trans = self.transaction() > req = self.request() > if not req.hasField('sectionID'): > app.forward(trans, self.dotUrl('staff/Content/index')) > self._error = None > > > Here is awake() of SiteThing.py: > > class SiteThing(SiteContent): > def awake(self, trans): > SiteContent.awake(self, trans) > > And index.py > > def awake(self, trans): > self.setDots(trans, '../../') > SecureBackend.awake(self, trans) > > Certainly part of problem right now is that we have no > consistent way to > duplicate the problem, but I'm going to try to do that today. > > I know someone mentioned the unbound method problem before, > related to multiple > imports I believe. I've tried to figure out how this could be > related to that, > but it would almost have to be outside our code (in ServletFactory or > Application?). Which makes me think it could have to do with > canBeReused (since > these are the only servlets we have that set that to false). > Lots of thoughts, > and not much idea. > > Thanks, > > Luke > > ------------------------------------------------- > This mail sent through IMP: http://horde.org/imp/ > > > ------------------------------------------------------- > This sf.net email is sponsored by: Dice - The leading online job board > for high-tech professionals. Search and apply for tech jobs today! > http://seeker.dice.com/seeker.epl?rel_code=31 > _______________________________________________ > Webware-discuss mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/webware-discuss > ------------------------------------------------------- This sf.net email is sponsored by: Dice - The leading online job board for high-tech professionals. Search and apply for tech jobs today! http://seeker.dice.com/seeker.epl?rel_code=31 _______________________________________________ Webware-discuss mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/webware-discuss
