【问题标题】:Grails + MySQL - BasicDataSource or JNDIGrails + MySQL - BasicDataSource 或 JNDI
【发布时间】:2013-08-23 23:45:54
【问题描述】:

我需要使用 MySQL 在 Grails 中部署一个应用程序。

在性能上使用基本数据源或 JNDI 有什么区别?

【问题讨论】:

    标签: grails jdbc jndi


    【解决方案1】:

    只要它们的配置相似,就不应该有任何性能差异。它们都会汇集连接,并根据需要返回一个预先连接的实例。

    您会在配置中看到差异。通常,JNDI 数据源更擅长测试死连接,以及关闭和重新创建它们。不过,这很容易在 Grails 中使用 DataSource,因为您可以配置 properties 块来指定是否定期测试连接,或者何时从池中检索连接等。较新版本的 Grails 配置了示例块,因此很容易更改设置。

    唯一的复杂性是池提供者在属性名称方面几乎没有一致性。有时密码是使用password 属性设置的,有时是passtestOnBorrowtestWhileIdle 等设置也是如此。但这对于 JNDI 池和 Grails 数据源来说都是一个问题。在这两种情况下,您都需要知道如何配置您正在使用的池。

    我更喜欢在应用程序中进行配置,因为我更喜欢独立的 WAR。您始终可以更改池提供程序以使用更强大的实现。请注意,较新版本的 Grails 使用 Tomcat JDBC Pool(这与您是否使用 Tomcat 作为服务器无关)并且它们的基准测试表明它比大多数其他实现执行得更好。而且您始终可以通过安装 jdbc-pool 插件自行安装。

    【讨论】:

      猜你喜欢
      • 2014-07-19
      • 1970-01-01
      • 1970-01-01
      • 2014-05-28
      • 1970-01-01
      • 1970-01-01
      • 2011-04-22
      • 2019-07-14
      • 1970-01-01
      相关资源
      最近更新 更多