首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Ofbiz热部署/缓存冲突

Ofbiz热部署/缓存冲突
EN

Stack Overflow用户
提问于 2014-01-13 07:41:20
回答 1查看 303关注 0票数 1

我正在ofbiz的hot-deploy文件夹中开发一个新组件。

关于工作流,当在.java类中进行新的修改时,我从不同的终端运行组件的ant build命令。

重建完成后,日志会通知我Controller已经重新挂载了我的组件。但是,所做的更改不会反映在应用程序中。

但是,有一种情况是,类被正确地重新加载,并且应用程序行为符合修改。如果类从未被ClassLoader加载(它从未被访问过),则修改是可见的。这让我想到,类/ jar被缓存在应用程序中的某个地方,并且没有考虑到新的更改(因此从一开始就完全否定了热部署的想法)。

这是真正的问题,还是我漏掉了什么。有没有办法禁用这种缓存?

EN

回答 1

Stack Overflow用户

发布于 2014-01-15 20:28:14

OFBiz确实使用了缓存类加载器,这可能就是您所遇到的(请参阅CachedClassLoader.java)。但是,根据您运行OFBiz的方式,底层类加载器可能存在其他问题。

OFBiz中的热部署目录并不是真正的热部署,它更像是对其中的组件目录的自动部署。一般来说,对于OFBiz,大多数资源更像脚本,通常最好用Groovy或简单方法脚本编写代码,然后它们会自动更新(使用默认缓存设置,使用生产缓存设置,它们需要在webtools webapp中手动清除缓存)。

根据您部署OFBiz的方式,重新加载某些已编译的类通常不起作用,因为它们在won应用程序之间共享,所以您需要重新加载won应用程序外部的类路径资源。这与热部署简单的webapps或使用隔离类加载器的WAR文件的想法非常不同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21086131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档