Index: lib/python/Zope2/Startup/zopeschema.xml =================================================================== --- lib/python/Zope2/Startup/zopeschema.xml (revision 4273) +++ lib/python/Zope2/Startup/zopeschema.xml (working copy) @@ -718,6 +718,16 @@ 1000 + + + + An optional Python object implementing a "TransientObjectContainer". + + Products.Transience.Transience.TransientObjectContainer + Index: lib/python/OFS/Application.py =================================================================== --- lib/python/OFS/Application.py (revision 4273) +++ lib/python/OFS/Application.py (working copy) @@ -405,6 +405,15 @@ addnotify = getattr(config, 'session_add_notify_script_path', None) delnotify = getattr(config, 'session_delete_notify_script_path', None) + # DM-2008-10-20: make "TransientObjectContainer" class customizable + toc_class = getattr(config, + 'session_transient_object_container_class', + None) + if toc_class is None: toc_class = TransientObjectContainer + else: + LOG.info("using transient object container class %s" % toc_class) + from Zope2.Startup.datatypes import importable_name + toc_class = importable_name(toc_class) default_limit = 1000 default_period_secs = 20 default_timeout_mins = 20 @@ -427,7 +436,8 @@ delnotify=None if 1: # Preserve indentation for diff - toc = TransientObjectContainer('session_data', + # DM-2008-10-20: make "TransientObjectContainer" class customizable + toc = toc_class( 'session_data', 'Session Data Container', timeout_mins = timeout_spec, addNotification = addnotify,