由于我们通过eclipselink ORM拥有自己的数据库连接(有自己的连接池),我试图完全关闭jdbc连接和HikariCP。但是,当我尝试使用以下方法关闭这些模型时:
disabled += "jdbc"
disabled += "javaJdbc"
disabled += "play.api.db.DBModule"
disabled += "play.api.db.HikariCPModule"
播放不再有效:
Oops, cannot start the server.
com.google.inject.CreationException: Unable to create injector, see the following errors:
1) No implementation for play.api.db.ConnectionPool was bound.
while locating play.api.db.ConnectionPool
for parameter 0 at play.db.DefaultConnectionPool.<init>(DefaultConnectionPool.java:24)
at play.db.DBModule.bindings(DBModule.java:34):
Binding(interface play.db.ConnectionPool to ConstructionTarget(class play.db.DefaultConnectionPool)) (via modules: com.google.inject.util.Modules$OverrideModule -> play.api.inject.guice.GuiceableModuleConversions$$anon$1)
2) No implementation for play.api.db.DBApi was bound.
while locating play.api.db.DBApi
for parameter 0 at play.db.DefaultDBApi.<init>(DefaultDBApi.java:27)
at play.db.DBModule.bindings(DBModule.java:35):
Binding(interface play.db.DBApi to ConstructionTarget(class play.db.DefaultDBApi)) (via modules: com.google.inject.util.Modules$OverrideModule -> play.api.inject.guice.GuiceableModuleConversions$$anon$1)
我不确定我是否理解为什么Play甚至提供jdbc模块和连接池,似乎我无法将其关闭并仅使用Play的其余组件。将EclipseLink与HikariCP一起使用似乎有用(我不知道它是否实际使用或者只是同时运行),但是如果我想要使用C3P0和EclipseLink,我该怎么办?