[plt-scheme] plt-web-server configuration

From: Jay McCarthy (jay.mccarthy at gmail.com)
Date: Tue Oct 28 16:39:15 EDT 2008

On Tue, Oct 28, 2008 at 9:42 AM, Dave Gurnell <d.j.gurnell at gmail.com> wrote:
> The Web Server (WS) goes out of its way to ensure that servlets are kept
> separate. By default, each servlet is loaded into its own private namespace,
> which means it gets its own private copy of all the code it loads. The state
> in one servlet's namespace cannot be affected by changes made in another
> servlet's namespace. Note that it is possible to modify the web server's
> default configuration to introduce some overlap to the namespaces.
> All this namespace stuff is a Good Thing if you're running a server that has
> servlet code contributed by different author, because each author can write
> their own servlet without worrying about what the others have written. On
> the other hand, if you're writing all the code yourself this may not be such
> a large advantage for you.

One more use case. In the old version of Continue, a module
implemented the database and used a magical cache implement as a
global variable in that module. Since the namespaces were separate,
nothing special needed to be done to keep the installations for
different conferences separated.

I think of the Web Server as an operating system for servlets. The
namespace business (as well as its use of custodians, etc) provide
very strong isolation. If you are following at home and want to remove
this "feature", look at make-servlet-namespace in the docs.


Jay McCarthy <jay at cs.byu.edu>
Assistant Professor / Brigham Young University

"The glory of God is Intelligence" - D&C 93

Posted on the users mailing list.