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,