当前位置:编程学习 > JAVA >>

etmvc 配置多个数据库链接的问题,在线等朋友们解决!

在项目中需要链接多个数据库,而在配置 etmvc 框架的时候遇到了问题,我判断是 获取不到 Connection 链接,有知道的朋友请帮忙留言解决下问题,不甚感激!


我项目中 activerecord.properties 文件配置(这是配置多个数据源)

domain_base_class=models.Base1 models.Base2

models.Base1.driver_class=com.mysql.jdbc.Driver
models.Base1.url=jdbc:mysql://localhost:3306/QXDemo
models.Base1.username=root
models.Base1.password=
models.Base1.pool_size=10

models.Base2.driver_class=com.mysql.jdbc.Driver
models.Base2.url=jdbc:mysql://localhost:3306/pay
models.Base2.username=root
models.Base2.password=
models.Base2.pool_size=10

如果只配置一个数据源的话,这样子是可以成功的

domain_base_class=com.et.ar.ActiveRecordBase

com.et.ar.ActiveRecordBase.driver_class=com.mysql.jdbc.Driver
com.et.ar.ActiveRecordBase.url=jdbc:mysql://localhost:3306/pay
com.et.ar.ActiveRecordBase.username=root
com.et.ar.ActiveRecordBase.password=
com.et.ar.ActiveRecordBase.pool_size=10

其他的配置和它官方配置一样

建立了2个 类,Base1,Base2  这两个类继承  ActiveRecordBase ,然后让其他 业务模型继承 Base1,Base2 

在Action方法调用 业务模型方法名的时候,出现 空指针异常。
java.lang.NullPointerException
at com.et.ar.ConnectionHolder.<init>(ConnectionHolder.java:26)
at com.et.ar.ActiveRecordBase.findBySql(ActiveRecordBase.java:609)
at com.et.ar.ActiveRecordBase.findAll(ActiveRecordBase.java:528)
at com.et.ar.ActiveRecordBase.findAll(ActiveRecordBase.java:453)
at cn.yeahka.controllers.RolesController.list(RolesController.java:40)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.et.mvc.Controller.invoke(Controller.java:152)
at com.et.mvc.Dispatcher.service(Dispatcher.java:123)
at com.et.mvc.DispatcherFilter.doFilter(DispatcherFilter.java:251)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619) --------------------编程问答-------------------- 自己解决了,需要加上Java类文件全路径,配置成

domain_base_class=cn.models.Base1 cn.models.Base2

cn.models.Base1.driver_class=com.mysql.jdbc.Driver
cn.models.Base1.url=jdbc:mysql://localhost:3306/QXDemo
cn.models.Base1.username=root
cn.models.Base1.password=
cn.models.Base1.pool_size=10

cn.models.Base2.driver_class=com.mysql.jdbc.Driver
cn.models.Base2.url=jdbc:mysql://localhost:3306/pay
cn.models.Base2.username=root
cn.models.Base2.password=
cn.models.Base2.pool_size=10
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,