From: <bc...@wo...> - 2001-02-13 20:01:56
|
On Tue, 13 Feb 2001 13:46:30 -0600 (CST), you wrote: >Hi all, > >Just curious- is it reasonable to add a destroy() for the PyServlets. Yes, I think so. >Something like: > > public void destroy() > { > Enumeration e = cache.keys(); > while (e.hasMoreElements()) { > CacheEntry ce = e.getNext(); > HttpServlet pyServlet = (HttpServlet)ce.servlet; > pyServlet.destroy(); > } > } > >Not this code, it's just the quickest example, but a destroy >would be nice if a PyServlet wants to do something specific when >unloaded. > >If this is something good, should reset() call destroy() on PyServlets as >part of the reset, in case they do something important in destroy()? Yes. We might as well try to make PyServlet play nice as a kind of servlet container. >On an unrelated note, module global variables are common in the Jython >world. Is there an advantage to PyServlet if each servlet has it's own >namespace to accomodate this? Well, is there an advantage? I considered it when I added PyServlet to the repository, but for smallish apps, the application namespace is an advantage IMHO. For larger apps, the application probably have to deal with more controlled namespaces anyway. >It would mean a PyDict for each servlet, is that wasteful for just module >globals? No. >Also, is it possible to use the Py >methods directly so you can use things like: > > Py.exec(PyObject o, PyObject globals, PyObject locals) > >instead of interp.exec("code in ns")? Sure, it is possible. What do you expect the advantages to be? I can't image any good things about executing a toplevel .py module with different globals/locals namespaces. regards, finn |