- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我在使用 hikaricp 时访问数据库时遇到问题
这是我的reference.conf
play {
modules {
enabled += "play.api.db.DBModule"
enabled += "play.api.db.HikariCPModule"
}
# Database configuration
db {
# The name of the configuration item from which to read database config.
# So, if set to db, means that db.default is where the configuration for the
# database named default is found.
config = "db"
# The name of the default database, used when no database name is explicitly
# specified.
default = "default"
# The default connection pool.
# Valid values are:
# - default - Use the default connection pool provided by the platform (HikariCP)
# - hikaricp - Use HikariCP
# - bonecp - Use BoneCP
# - A FQCN to a class that implements play.api.db.ConnectionPool
pool = "default"
# The prototype for database configuration
prototype = {
# The connection pool for this database.
# Valid values are:
# - default - Delegate to play.db.pool
# - hikaricp - Use HikariCP
# - bonecp - Use BoneCP
# - A FQCN to a class that implements play.api.db.ConnectionPool
pool = "default"
# The database driver
driver = null
# The database url
url = null
# The username
username = null
# The password
password = null
# If non null, binds the JNDI name to this data source to the given JNDI name.
jndiName = null
# If it should log sql statements
logSql = false
# HikariCP configuration options
hikaricp {
# The datasource class name, if not using a URL
dataSourceClassName = null
# Data source configuration options
dataSource {
}
# Whether autocommit should be used
autoCommit = true
# The connection timeout
connectionTimeout = 30 seconds
# The idle timeout
idleTimeout = 10 minutes
# The max lifetime of a connection
maxLifetime = 30 minutes
# If non null, the query that should be used to test connections
connectionTestQuery = null
# If non null, sets the minimum number of idle connections to maintain.
minimumIdle = null
# The maximum number of connections to make.
maximumPoolSize = 10
# If non null, sets the name of the connection pool. Primarily used for stats reporting.
poolName = null
# Sets whether or not construction of the pool should fail if the minimum number of connections
# coludn't be created.
initializationFailFast = true
# Sets whether internal queries should be isolated
isolateInternalQueries = false
# Sets whether pool suspension is allowed. There is a performance impact to enabling it.
allowPoolSuspension = false
# Sets whether connections should be read only
readOnly = false
# Sets whether mbeans should be registered
registerMbeans = false
# If non null, sets the catalog that should be used on connections
catalog = null
# A SQL statement that will be executed after every new connection creation before adding it to the pool
connectionInitSql = null
# If non null, sets the transaction isolation level
transactionIsolation = null
# The validation timeout to use
validationTimeout = 5 seconds
# If non null, sets the threshold for the amount of time that a connection has been out of the pool before it is
# considered to have leaked
leakDetectionThreshold = null
}
# BoneCP configuration options
bonecp {
# Whether autocommit should be used
autoCommit = true
# If non null, the transaction isolation level to use.
isolation = null
# If non null, sets the catolog to use
defaultCatalog = null
# Whether the database should be treated as read only
readOnly = false
# Whether opened statements should be automatically closed
closeOpenStatements = true
# The pool partition count
partitionCount = 1
# The maximum number of connections per partition
maxConnectionsPerPartition = 30
# The minimum number of connections per partition
minConnectionsPerPartition = 5
# The increment to acquire connections in
acquireIncrement = 1
# The acquire retry attempts
acquireRetryAttempts = 10
# The delay to wait before retrying to acquire a connection
acquireRetryDelay = 1 second
# The connection timeout
connectionTimeout = 1 second
# The idle age to expire connections
idleMaxAge = 10 minutes
# The maximum a connection should live for
maxConnectionAge = 1 hour
# Whether JMX reporting should be disabled
disableJMX = true
# Whether statistics should be kept
statisticsEnabled = false
# How frequently idle connections should be tested
idleConnectionTestPeriod = 1 minute
# Disable connection tracking
disableConnectionTracking = true
# The time limit for executing queries. 0 means no time limit.
queryExecuteTimeLimit = 0
# Whether the connection should be reset when closed
resetConnectionOnClose = false
# Whether unresolved transations should be detected
detectUnresolvedTransactions = false
# An SQL statement to execute to test if a connection is ok after it is created.
# Null turns this feature off.
initSQL = null
# An SQL statement to execute to test if a connection is ok before giving it out of the pool.
# Null turns this feature off.
connectionTestStatement = null
# Whether SQL statements should be logged
logStatements = false
}
}
}
# Evolutions configuration
evolutions {
# Whether evolutions are enabled
enabled = true
# Database schema in which the generated evolution and lock tables will be saved to
schema = ""
# Whether evolution updates should be performed with autocommit or in a manually managed transaction
autocommit = true
# Whether locks should be used when apply evolutions. If this is true, a locks table will be created, and will
# be used to synchronise between multiple Play instances trying to apply evolutions. Set this to true in a multi
# node environment.
useLocks = false
# Whether evolutions should be automatically applied. In prod mode, this will only apply ups, in dev mode, it will
# cause both ups and downs to be automatically applied.
autoApply = false
# Whether downs should be automatically applied. This must be used in combination with autoApply, and only applies
# to prod mode.
autoApplyDowns = false
# Db specific configuration. Should be a map of db names to configuration in the same format as this.
db {
}
}
}
这是我的application.conf
play.db.pool=hikaricp
play.db.prototype.hikaricp.driver=com.mysql.jdbc.Driver
play.db.prototype.hikaricp.url="jdbc:mysql://192.168.1.37/mydb?zeroDateTimeBehavior=convertToNull"
play.db.prototype.hikaricp.username=biboy
play.db.prototype.hikaricp.password="biboy"
play.db.prototype.hikaricp.maximumPoolSize = 5
play.db.prototype.hikaricp.minimumIdle = 0
play.db.prototype.hikaricp.maxLifetime = 2 minutes
play.db.prototype.hikaricp.connectionTestQuery = "/* ping */ SELECT 1"
play.db.prototype.hikaricp.leakDetectionThreshold = 30 seconds
play.db.prototype.hikaricp.idleTimeout = 60 seconds
play.db.prototype.hikaricp.connectionTimeout = 3 minutes
play.db.prototype.hikaricp.validationTimeout = 1 minute
总是说错误
1) No implementation for play.db.Database was bound.
[info] while locating play.db.Database
[info] for field at com.spingine.base.BaseController.database(BaseController.java:12)
[info] while locating com.spingine.controllers.CreateTaskItinerary
[info] for parameter 3 at router.Routes.<init>(Routes.scala:88)
[info] while locating router.Routes
[info] while locating play.api.inject.RoutesProvider
[info] while locating play.api.routing.Router
这就是我访问数据库的方式
public class AddAccount extends BaseController {
@Inject
Database db;
public void add(){
// omitted for clarity of the problem
}
}
但是当我在没有 hikari cp 的情况下使用 db 的默认设置时,一切顺利,但是当我使用 hikaricp 时,问题就存在了。我该如何缓解这个问题?
最佳答案
我认为您在 application.conf 中覆盖的数据库配置是错误的。您应该设置不带 hikaricp 前缀的数据库配置:
play.db.prototype.driver=com.mysql.jdbc.Driver
play.db.prototype.url="jdbc:mysql://192.168.1.37/mydb?zeroDateTimeBehavior=convertToNull"
play.db.prototype.username=*****
play.db.prototype.password=*****
关于java - 未绑定(bind) play.db.Database 的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37086792/
我找到了 this excellent question and answer它以 x/y(加上 center x/y 和 degrees/radians)开始并计算旋转- 到 x'/y'。这个计算很
全部: 我已经创建了一个 Windows 窗体和一个按钮。在另一个线程中,我试图更改按钮的文本,但它崩溃了;但是如果我尝试更改按钮的颜色,它肯定会成功。我认为如果您更改任何 Windows 窗体控件属
本网站的另一个问题已证实,C 中没有缩写的字面后缀,并且可以执行以下操作: short Number = (short)1; 但是转换它和不这样做有什么区别: short Number = 1; 您使
我有下表: ID (int) EMAIL (varchar(50)) CAMPAIGNID (int) isSubscribe (bit) isActionByUser (bit) 此表存储了用户对事
也就是说,无需触发Javascript事件即可改变的属性,如何保留我手动选中或取消选中的复选框的状态,然后复制到另一个地方? 运行下面的代码片段并选中或取消选中其中的一些,然后点击“复制”: $('#
我在网上找到的所有关于递增指针导致段错误的示例都涉及指针的取消引用 - 如果我只想递增它(例如在 for 循环的末尾)并且我不在乎它是否最终进入无效内存,因为我不会再使用它。例如,在这个程序中,每次迭
我有一个 Spring MVC REST 服务,它使用 XStream 将消息与 XML 相互转换。 有什么方法可以将请求和响应中的 xml(即正文)打印到普通的 log4j 记录器? 在 Contr
做我的任务有一个很大的挑战,那就是做相互依赖的任务我在这张照片中说的。假设我们有两个任务 A 和 B,执行子任务 A1、A2 和 B1、B2,假设任务 B 依赖于 A。 要理想地执行任务 B,您应该执
通过阅读该网站上的几个答案,我了解到 CoInitialize(Ex) should be called by the creator of a thread 。然后,在该线程中运行的任何代码都可以使
这个问题已经困扰我一段时间了。我以前从未真正使用过 ListViews,也没有使用过 FirebaseListAdapters。我想做的就是通过显示 id 和用户位置来启动列表的基础,但由于某种原因,
我很难解释这两个(看似简单)句子的含义: “受检异常由编译器在编译时检查” 这是什么意思?编译器检查是否捕获了所有已检查的异常(在代码中抛出)? “未经检查的异常在运行时检查,而不是编译时” 这句话中
我有一个包含排除子字符串的文本文件,我想迭代该文件以检查并返回不带排除子字符串的输入项。 这里我使用 python 2.4,因此下面的代码可以实现此目的,因为 with open 和 any 不起作用
Spring 的缓存框架能否了解请求上下文的身份验证状态,或者更容易推出自己的缓存解决方案? 最佳答案 尽管我发现这个用例 super 奇怪,但您可以为几乎任何与 SpEL 配合使用的内容设置缓存条件
我有以下函数模板: template HeldAs* duplicate(MostDerived *original, HeldAs *held) { // error checking omi
如果我的应用程序具有设备管理员/设备所有者权限(未获得 root 权限),我如何才能从我的应用程序中终止(或阻止启动)另一个应用程序? 最佳答案 设备所有者可以阻止应用程序: DevicePolicy
非常简单的问题,但我似乎无法让它正常工作。 我有一个组件,其中有一些 XSLT(用于导航)。它通过 XSLT TBB 使用 XSLT Mediator 发布。 发布后
我正在将一个对象拖动到一个可拖放的对象内,该对象也是可拖动的。放置对象后,它会嵌套在可放置对象内。同样,如果我将对象拖到可放置的外部,它就不再嵌套。 但是,如果我经常拖入和拖出可放置对象,则可拖动对象
我正在尝试为按钮和弹出窗口等多个指令实现“取消选择”功能。也就是说,我希望当用户单击不属于指令模板一部分的元素时触发我的函数。目前,我正在使用以下 JQuery 代码: $('body').click
我从 this question 得到了下面的代码,该脚本用于在 Google tasks 上更改 iframe[src="about:blank"] 内的 CSS使用 Chrome 扩展 Tempe
我有一些 @Mock 对象,但没有指定在该对象上调用方法的返回值。该方法返回 int (不是 Integer)。我很惊讶地发现 Mockito 没有抛出 NPE 并返回 0。这是预期的行为吗? 例如:
我是一名优秀的程序员,十分优秀!