重新加载应用程序.jar时,将BDB JE保留在内存中

时间:2013-07-01 03:44:18

标签: java osgi berkeley-db-je

当BDB JE在应用程序的进程中运行时,我想找到构建系统的最佳方法,我可以在其中运行BDB并重新加载我不断变化的应用程序逻辑和依赖项。

理想情况下,我会在一个单独的进程中运行BDB但是我需要使用共享内存来执行IPC以保持带宽。

我的另一个想法是使用OSGi刷新应用程序包。

任何人都有任何聪明的技巧来做到这一点。我很欣赏BDB JE的嵌入式特性,但我想吃蛋糕并吃掉它。

1 个答案:

答案 0 :(得分:1)

您是否尝试在单独的捆绑包中运行Berkeley数据库并通过μservices将其链接到其他捆绑包?由于μservices是动态绑定的,因此您可以在保持BDB捆绑包运行的同时更改应用程序逻辑。

在bnd(工具)中我和mongo db有类似的情况。我现在有一个设置,有时我的框架不会重新启动数天,即使我对捆绑包进行了数百次更新(在每次保存代码时,它都会自动部署到正在运行的框架中的bndtools)。由于很少需要更新db实现,因此db始终保持运行。