Grails + MySQL - BasicDataSource或JNDI

时间:2013-08-23 23:45:54

标签: grails jdbc jndi

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

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

1 个答案:

答案 0 :(得分:3)

只要他们的配置类似,就不应该有任何性能差异。它们都是池连接,并根据需要返回预先连接的实例。

您将在配置中看到差异。通常,JNDI数据源更擅长测试死连接,关闭并重新创建它们。这对于Grails中的DataSource很容易,因为您可以配置properties块,指定是否定期测试连接,或者从池中检索它们等等。更新版本的Grails具有配置了一个示例块,因此可以轻松更改设置。

唯一的复杂因素是池提供程序在属性名称方面几乎没有一致性。有时密码是使用password属性设置的,有时候是pass。对于testOnBorrowtestWhileIdle等设置也是如此。但这对于JNDI池和Grails DataSource都是一个问题。在这两种情况下,您都需要知道如何配置您正在使用的池。

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