我需要在Grails中使用MySQL部署应用程序。
在性能中使用基本数据源或JNDI有什么区别?
答案 0 :(得分:3)
只要他们的配置类似,就不应该有任何性能差异。它们都是池连接,并根据需要返回预先连接的实例。
您将在配置中看到差异。通常,JNDI数据源更擅长测试死连接,关闭并重新创建它们。这对于Grails中的DataSource很容易,因为您可以配置properties
块,指定是否定期测试连接,或者从池中检索它们等等。更新版本的Grails具有配置了一个示例块,因此可以轻松更改设置。
唯一的复杂因素是池提供程序在属性名称方面几乎没有一致性。有时密码是使用password
属性设置的,有时候是pass
。对于testOnBorrow
,testWhileIdle
等设置也是如此。但这对于JNDI池和Grails DataSource都是一个问题。在这两种情况下,您都需要知道如何配置您正在使用的池。
我的偏好是在应用程序中进行配置,因为我更喜欢自包含的WAR。您始终可以更改池提供程序以使用更强大的实现。请注意,较新版本的Grails使用Tomcat JDBC Pool(这与您是否使用Tomcat作为服务器无关),并且它们的基准测试表明它的性能优于大多数其他实现。您可以通过安装jdbc-pool插件来自行安装。