java.lang.RuntimeException: Plugin start error: com.jfinal.plugin.activerecord.ActiveRecordPlugin.
Config already exists: main
java.lang.IllegalArgumentException: Config already exists: main
今天使用jfinal 配置多个数据源。然后有报这个错误。
// 配置mysql数据源
C3p0Plugin mysqlPool = new C3p0Plugin(
getProperty("jdbc.url"),
getProperty("jdbc.username"),
getProperty("jdbc.password").trim(),
getProperty("jdbc.driverClassName"));
me.add(mysqlPool);
ActiveRecordPlugin arp = new ActiveRecordPlugin(mysqlPool);
if(getPropertyToBoolean("devMode", false)) arp.setShowSql(true);
me.add(arp);
// 这里增加数据表映射
TableMapping(arp);
/**
* 配置tiantian_db的数据源
*/
C3p0Plugin ttPool=new C3p0Plugin(getProperty("ttjdbc.url"),
getProperty("jdbc.username"),
getProperty("jdbc.password").trim(),
getProperty("jdbc.driverClassName"));
me.add(ttPool);
ActiveRecordPlugin ttarp = new ActiveRecordPlugin("ttMain",ttPool);
if(getPropertyToBoolean("devMode", false)) ttarp.setShowSql(true);
me.add(ttarp);
TtTableMapping(ttarp);
我一开始是:ttarp里面引入的C3p0Plugin是mysqlPool
而不是我ttPool
所以我一开始猜测是这个问题造成的。但是我这样子改完以后。还是报这个错误
然后有看到这样子一个描述:
ActiveRecordPlugin 对象在创时如果不指定 configName 参数,则 configName默认值为 "main"。
然后我使用了两个 ActiveRecordPlugin,分别是arp与 ttarp,所以第一个对象的 configName 默认为 "main" 以后,第二个就需要再取个名字
所以进行了修改
问题解决