Datasource Playframework与anorm和Spring数据源 问题:

Datasource Playframework与anorm和Spring数据源 问题:,datasource,playframework-2.1,cloud-foundry,anorm,Datasource,Playframework 2.1,Cloud Foundry,Anorm,有没有一种方法可以将anorm mapper与“用户提供的”数据源一起使用 长话短说: 我想使用为我的播放应用程序配置数据源。 我为这个问题挣扎了一段时间,并且已经尝试了很多,到目前为止都没有任何效果 我需要这样做,因为我们正在使用的云的自动配置(CloudFoundry)工作不正常() 在为我的应用程序设置了Spring云之后,我得到了anorm应该使用的数据源。但是没有办法将这个数据源注入到Anorm中。Play Anorm插件仅适用于PlayDBPlugin,该插件通过硬编码使用appli

有没有一种方法可以将anorm mapper与“用户提供的”数据源一起使用

长话短说: 我想使用为我的播放应用程序配置
数据源
。 我为这个问题挣扎了一段时间,并且已经尝试了很多,到目前为止都没有任何效果

我需要这样做,因为我们正在使用的云的自动配置(CloudFoundry)工作不正常()

在为我的应用程序设置了Spring云之后,我得到了anorm应该使用的
数据源。但是没有办法将这个
数据源
注入到Anorm中。Play Anorm插件仅适用于Play
DBPlugin
,该插件通过硬编码使用application.conf(
db.default
)中的默认数据库或至少一个可从configuration文件读取的数据库

我找到了一个示例,其中显示了设置
DBPlugin
使用的
DataSource
的方法。但是设置

DB.datasource=datasource


不允许用于我当前使用的播放版本。

Anorm对您使用的数据源一无所知。anorm上与数据库对话的每个方法都采用隐式
java.sql.Connection
参数。由你来决定这种联系的来源。显然,最常见的方法是使用Play的
DB
API,使用
DB.withConnection
DB.withTransaction
,但您可以编写自己的使用自己的数据源的API


还可以编写自定义DB插件并禁用基于bonecp的默认播放插件,如果这样做,则可以在自定义数据源中使用播放DB API。为此,实现您自己的
play.api.db.DBApi
play.api.db.DBPlugin
实现,创建一个注册了db插件的
play.plugins
文件(例如,其中包含
100:com.foo.MyDbPlugin
),然后通过在
application.conf

中添加
dbplugin=disabled
来禁用内置播放功能,感谢您指出了正确的方向。我复制了DBPlugin并进行了添加,核心数据源处理现在由SpringCloud完成。