首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
SharedObject无法动态更新
heyewei
2018-05-10 11:51
config对象后台需要修改,SharedObject无法动态更新。怎么解决更新问题
项目:
JFinal
评论区
JFinal
2018-05-10 16:07
可以动态更新,你上面的代码是正确的,但要注意被使用的 Engine 对象是不是当前配置的这个 RenderManager.me().getEngine()
jfinal 中的 Engine 对象是可以同时存在多个,分别配置,分别用于不同的用途的
回复
heyewei
2018-05-10 18:01
@JFinal
更新的时候调用addSharedObject报错:Shared object already exists:
回复
gongtao
2018-06-07 14:13
启动配置时给他起个名字 engine = new Engine("WEB_CONFIG"); 当需要更新的时候,先移除掉这个Engine ,Engine.remove("engine");然后再添加就可以了。
回复
INFECTION_K
2019-07-30 10:44
我用的3.4 也有这个问题 种种原因 很多服务器不能升级到jdk8 所以解决办法 修改源码包 修改com.jfinal.template下Engine里 增加 public Engine removeSharedObject(String name) {
config.removeSharedObject(name);
return this;
} (新版本中有这个方法 可以复制过来) 在EngineConfig 里修改 public Map getSharedObjectMap() {
return sharedObjectMap;
}
public synchronized void removeSharedObject(String name) {
if (sharedObjectMap != null) {
sharedObjectMap.remove(name);
}
} 然后重新编译一下 把class复制到jar里 测试通过 完活
回复
INFECTION_K
2019-07-30 10:45
add前 先remove
回复
发送
我要反馈
热门反馈
扫码入社
jfinal 中的 Engine 对象是可以同时存在多个,分别配置,分别用于不同的用途的