2013-08-23 29 views

回答

3

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

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

唯一的问题是池供应商在属性名称中几乎没有一致性。有时密码设置为password属性,有时它的编号为pass。对于诸如testOnBorrowtestWhileIdle等的设置也是如此。但是这对于JNDI池和Grails数据源都是一个问题。在这两种情况下,您都需要知道如何配置您正在使用的池。

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