文档章节

play framework 如何支持多数据源

tuerqidi
 tuerqidi
发布于 09/25 10:37
字数 612
阅读 40
收藏 0

有段时间没有写博客了,但今天又写一篇了,主要是因为这事有一丝自己的思考和动手实践,所以就记录下来了。

现有的问题: play 1.2.4  两台数据库服务器,但是play1.2.4 并不支持同时连接两台数据库服务器,如何解决这个问题?

问题的解决步骤:

1: 研究play是如何连接上一台数据库服务器的。

        play 是通过db这个module来完成数据库相关的操作的。

     主要流程

配置文件 ----> 构建DataSource ---->Ejb3Configuration  -----> EntityManagerFactory   ----->  EntityManager  --------> JPA

2:  解决问题的办法

         2.1 修改现有module来实现支持多数据源,网上搜到关于此类的解决方法比较多,然后通过 JPA.em("datasourse") 来切换数据源。 当然这存在相当大的问题,一是不支持JPA的操作,二是即使实现了,现有代码需要修改的地方太多太多,三是根本没有能力来修改这个module。

         2.2  将现有module的功能复制一份用来实现连接第二台服务器的功能。当然我选择了后者

3: 实现的步骤 

        3.1: db 文件夹复制一份 

 

       3.2: 修改了db1文件中相关文件的包名。

       3.3  修改了获取的配置项

        

        3.4 :  修改了enhance部分的功能

            3.5  反复测试几次(10来次),直到与db相关的所有地方修改为db1,至此完成了db模块功能的复制。

            3.6  重新打包。 有build.xml 当然是使用ant来进行构建。但具体使用哪个版本的ant也小有学问,毕竟不是任意版本的ant都行的。也不会有人会告诉你jar包中的MANIFEST.MF 文件中包含了构建工具相关的信息。

            3.7   往play中添加插件 

    

 

         3.8  替换掉原来的jar,进行测试。

 

            遗留的问题,DEV模式下所有的model在两台数据库服务器上都建了对应的数据表,虽然这对使用几乎没有影响。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

© 著作权归作者所有

共有 人打赏支持
tuerqidi
粉丝 7
博文 101
码字总数 18447
作品 0
海淀
Play!2.1 通过JPA连接多个数据库

Play framework连接多数据库很简单。 但是这个很简单耗费了我整整两天的时间来找到这个答案。 还好苍天,我还是找到了。 ============================================================= Pl...

davelet
2013/12/09
0
0
Play Framework 2.4 发布,Java Web 框架

Play Framework 2.4 发布,此版本主要改进内容如下: 依赖注入 可以直接嵌入 Play 应用 支持聚合反向路由器 Java 8 支持,要求 JDK 8 Maven/sbt 标准布局 Akka HTTP 支持 Reactive Streams 支...

oschina
2015/05/30
9.6K
46
在 Eclipse 中开发基于 Play Framework 框架的 Web 应用

在开始本文之前,请确保已经对 Play Framework 已经有所了解,请看 Play Framework 的入门教程。 Play 框架支持 Eclipse、NetBeans 和 IntelliJ IDEA 三个主流的 Java 开发环境,本文主要介绍...

小编辑
2010/07/06
7.7K
9
Play Framework 2.5 发布,要求 Java 8 支持

Play Framework 2.5 发布了,该版本最大的变化是使用 Akka Streams 替代原有基于迭代的异步 IO API。此次是改进对 WebSocket 帧的控制;使用 Java 8 平台;支持其他日志框架;可记录执行的 ...

oschina
2016/03/05
8.4K
59
AuxiliaryDBPlugin

AuxiliaryDBPlugin 是一个 Play Framework 的插件,用于实现通过 JDBC 链接到各个数据源。 配置方法:(application.conf) module.AuxiliaryDBPlugin=${play.path}/modules/AuxiliaryDBPlugi......

匿名
2011/08/02
326
0

没有更多内容

加载失败,请刷新页面

加载更多

20181018 上课截图

![](https://oscimg.oschina.net/oscnet/49f66c08ab8c59a21a3b98889d961672f30.jpg) ![](https://oscimg.oschina.net/oscnet/a61bc2d618b403650dbd4bf68a671fabecb.jpg)......

小丑鱼00
11分钟前
0
0
WinDbg

参考来自:http://www.cnit.net.cn/?id=225 SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols ctrl + d to open dump_file Microsoft (R) Windows Debugger Version 6.12.0002.633......

xueyuse0012
今天
2
0
OSChina 周五乱弹 —— 想不想把92年的萝莉退货

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @罗马的王:分享松澤由美的单曲《地球ぎ》 很久没看圣斗士星矢了 《地球ぎ》- 松澤由美 手机党少年们想听歌,请使劲儿戳(这里) @开源中国首...

小小编辑
今天
14
2
springBoot条件配置

本篇介绍下,如何通过springboot的条件配置,控制Bean的创建 介绍下开发环境 JDK版本1.8 springboot版本是1.5.2 开发工具为 intellij idea(2018.2) 开发环境为 15款MacBook Pro 前言 很多时候,...

贺小五
今天
1
0
javascript source map 的使用

之前发现VS.NET会为压缩的js文添加一个与文件名同名的.map文件,一直没有搞懂他是用来做什么的,直接删除掉运行时浏览器又会报错,后来google了一直才真正搞懂了这个小小的map文件背后的巨大...

粒子数反转
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部