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

标签 java osgi berkeley-db-je

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

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

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

任何人都有执行此操作的聪明技巧。我很欣赏BDB JE的嵌入式特性,但是我想吃点蛋糕。

最佳答案

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

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

本文翻译自 https://stackoverflow.com/questions/17397151/

网站遵循 CC BY-SA 4.0 协议,转载或引用请注明出处。


相关文章:

java - 只能在Java sql上使用有限数量的方法

java - 在apache-karaf中查看osgi版本的命令

java - OSGI:DS和组件工厂问题

java - 将插件从1.6升级到1.7

java - 优化BerkeleyDB JE数据库

java - 为什么递归MergeSort比迭代MergeSort更快?

java - IllegalArgumentException:布局:-998896 <0在Showerview中

database - 遍历伯克利数据库JE中的环境

java - 无法解决Eclipse中的“ Java堆空间”错误

java - Berkeley DB可以在Java中异步使用吗?