gpt4 book ai didi

database - 阻止 Grails 在 Controller 方法中打开与数据库的连接

转载 作者:太空狗 更新时间:2023-10-30 01:49:34 27 4
gpt4 key购买 nike

我有一个正在与另一台机器通信的服务。因为它是一个简单的 Controller 方法,所以当我的 Controller 与其他服务器通信时,Grails 会自动从池中获取一个数据库连接。我想阻止它这样做,并在我准备好时手动打开数据库连接,这样它就不会像进行网络调用那样长时间占用连接。如何防止 Grails 在 Controller 方法中自动从池中获取连接?

最佳答案

当你创建一个 Controller 时,它上面有 Transactional 注释,比如:

 @Transactional(readOnly=true)
class FooController { ..

如果您删除该注释(以及任何方法级别的注释),那么 Grails 将不再连接到数据库以启动事务。

Open Session In View 不应该起作用,因为我们使用惰性初始化方法来获取与 OSIV 的连接

请注意,我上面的回答假设您使用的是最新版本的 Grails(2.3.x 或更高版本)

已更新

对于 MongoDB,您可以通过在 grails-app/conf/spring/resources.groovy 中定义以下 bean(覆盖默认值)来禁用所有 Controller 的自动连接:

 mongoPersistenceInterceptor(org.codehaus.groovy.grails.support.NullPersistentCon‌​textInterceptor) 

但是目前没有办法在每个 Controller 的基础上禁用

关于database - 阻止 Grails 在 Controller 方法中打开与数据库的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24454902/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com