Plone 使用z3c.saconfig时是否可以使用NullPool而不是QueuePool?

Plone 使用z3c.saconfig时是否可以使用NullPool而不是QueuePool?,plone,zope,Plone,Zope,我有一个Zope/Plone 4.3环境,我们使用z3c.saconfig在内部产品中配置数据库(Oracle)设置 我需要将SQLAlchemy的池类型从QueuePool更改为NullPool。但是,有没有一种方法可以使用z3c.saconfig来实现呢?z3c.saconfig将创建SQLAlchemy引擎的任务委托给IEEngineFactory实用程序;看 您可以创建自己的子类来注册为。您的子类可以重用现有的实用工具实现,覆盖: 上面通过添加一个参数来增加sqlalchemy.crea

我有一个Zope/Plone 4.3环境,我们使用
z3c.saconfig
在内部产品中配置数据库(Oracle)设置


我需要将SQLAlchemy的池类型从
QueuePool
更改为
NullPool
。但是,有没有一种方法可以使用
z3c.saconfig
来实现呢?

z3c.saconfig
将创建SQLAlchemy引擎的任务委托给
IEEngineFactory
实用程序;看

您可以创建自己的子类来注册为。您的子类可以重用现有的实用工具实现,覆盖:

上面通过添加一个参数来增加
sqlalchemy.create_engine()
函数的参数

您需要将此实用程序注册为GenericSetup配置文件中的组件:


运行通用安装配置文件后,将注册该实用程序的持久版本,并将找到该实用程序,而不是默认的全局实用程序

from persistent import Persistent
from z3c.saconfig.utility import EngineFactory
from sqlalchemy.pool import NullPool

class NullPoolEngineFactory(Persistent, EngineFactory)
    def configuration(self):
        kwargs = self._kw.copy()
        kwargs['poolclass'] = NullPool
        return self._args, kwargs