我们的DBA希望我从JDBC的默认值(10)增加获取大小。有没有办法通过public_non_static
,JDBC URL或类似的方式全局执行此操作?
我的数据库调用基本上看起来像
application.conf
但是很多控制器和方法都有很多。
如何设置中央设置?
答案 0 :(得分:1)
defaultRowPrefresh
是一个Oracle JDBC驱动程序属性,可以设置为从默认值10(Table 4-2 Connection Properties Recognized by Oracle JDBC Drivers)更改
虽然未明确记录,但看起来自定义JDBC属性是在datasource
键下完成的(请参阅this和this)
像db.default.datasource.defaultRowsPrefetch="100"
这样的东西应该有用。
答案 1 :(得分:0)
在搜索完Oracle JDBC jar后,我发现:
ojdbc6-unjar $ cat ./oracle/jdbc/defaultConnectionProperties.properties
# This properties file sets the default value for connection properties.
# Entries in this file override the predefined defaults as specified
# in the JavaDoc for oracle.jdbc.OracleConnection. These defaults are
# themselves overridden by any values set via -D which are overridden
# by values passed in the Properties argument to getConnection.
#
这一点和Javadoc在解释如何派生实际参数名称方面做得非常糟糕,但经过多次尝试各种案例样式,包名称等后,我发现这是有效的:
JAVA_OPTS="-Doracle.jdbc.defaultRowPrefetch=1000" \
./activator -Dconfig.file=conf/xe.conf run
这将使boneCP在没有任何代码更改的情况下使用合理的提取大小。