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