当BDB JE在应用程序的过程中运行时,我想找到一种构建系统的最佳方法,使BDB可以运行并重新加载不断变化的应用程序逻辑和依赖项。
理想情况下,我将在一个单独的进程中运行BDB,但随后我将需要使用共享内存来执行IPC以保持带宽增加。
我以前的另一个想法是使用OSGi刷新应用程序包。
任何人都有执行此操作的聪明技巧。我很欣赏BDB JE的嵌入式特性,但是我想吃点蛋糕。
最佳答案
您是否尝试在单独的捆绑软件中运行Berkeley数据库,并通过µservices将其链接到其他捆绑软件?由于µservice是动态绑定的,因此您可以在保持BDB捆绑包运行的同时更改应用程序逻辑。
在bnd(tools)中,mongo db也有类似情况。我现在有了一个设置,即使我对捆绑软件进行了数百次更新,有时我的框架有时也不会重启几天(每次保存代码时,在bndtools中,它都会自动部署到正在运行的框架中)。由于数据库实现很少需要更新,因此数据库始终保持运行状态。