java – OSGi内存管理

我有关于OSGi内存管理的理论问题.

假设我们有一些OSGi容器(例如Felix),我们假设我创建了一些包含内存泄漏的bundle.

这里有一些我有的问题:

有没有办法限制内存
这种“失败”的消费
束?例如,如果它超过
内存限制 – OSGi容器会
给我发电子邮件,卸载它或
别的什么
>内存消耗如何
捆绑“A”影响捆绑“B”.对于
例如,如果“A”导致内存不足错误
是否会整整OSGi?
容器?

完整的OSGi框架运行在单个虚拟机中.只有每个bundle都被不同的类加载器加载.但是,所有bundle共享相同的堆,如果一个bundle泄漏内存,这将影响整个基于OSGi的应用程序.

那么是的,如果OutOfMemoryError是由一个bundle引起的,整个容器就会被“炸毁”.

(BTW:如果有人将一个bundle放入容器中,该系统会执行一个System.exit(),那么整个容器会再次停止而不会出现警告 – bundle不会像孤立的上下文那样生活在一起,就像一些“jvm中的虚拟机”)

http://stackoverflow.com/questions/6018501/osgi-memory-management

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:java – OSGi内存管理