任意环境下使用 ActiveRecord问题

任意环境下使用ActiveRecord的时候,都要new ActiveRecordPlugin,用完后stop(),如果前端使用多个ajax异步查询的时候,系统会报名称为“main”的ActiveRecordPlugin已存在的错误,我采用了取别名的方式(new ActiveRecordPlugin(myName,dp)),临时解决了这个问题。但是这样我就起了很多别名,可能开了很多数据库连接,同时进行多项查询时,系统报ORA-12518,监听程序无法分发客户机连接。感觉通过这种new多个ActiveRecord的方式很怪异,任意环境下使用ActiveRecord,能否像配置式那样,写一次保证任何地方都能用?

另,ActiveRecordPlugin可能正在查询中,用户手动关闭了页面,导致ActiveRecordPlugin没能正常stop(),这样的问题怎么解决?

评论区

JFinal

2017-12-18 17:58

不要去调用 stop() 方法,而是一直让 arp 存在,然后直接使用就好

时光月凡

2017-12-18 18:27

@JFinal 那不在一个控制器或方法里怎么认同一个arp呢?

JFinal

2017-12-18 18:31

@时光月凡 Db 的用法:Db.use(configName).find(...)
Model 的用法是自动的:model.find(...), 也可以: model.use(configName).find(...)

时光月凡

2017-12-18 18:53

@JFinal 棒棒的!感谢!

热门反馈

扫码入社