2013-07-01 2 views
2

Поскольку BDB JE запускается в процессе его применения, я хотел бы найти лучший способ создать систему, в которой я могу запустить BDB и перезагрузить меня постоянно меняющуюся логику приложений и зависимости.Сохраняйте BDB JE в памяти при перезагрузке приложения .jar

В идеале я бы запускал BDB в отдельном процессе, но тогда мне нужно было бы использовать общую память для выполнения IPC, чтобы поддерживать пропускную способность.

Еще одна мысль, которую я использовал, - использовать OSGi для обновления пакета приложений.

У любого есть какие-нибудь умные приемы для этого. Я ценю природу BDB JE, ​​но я хочу, чтобы мой пирог и съел его.

+0

Подход OSGI звучит более привлекательно для меня, я чувствую себя некомфортно с мыслью о внедрении встроенной базы данных в не встроенный способ. – biziclop

ответ

1

Вы пытались запустить Berkeley db в отдельном комплекте и связать его с другими пакетами через μservices? Поскольку μservices динамически связаны, вы меняете логику приложения, сохраняя при этом пакет BDB.

В bnd (tools) У меня есть аналогичная ситуация с mongo db. У меня теперь есть настройка, где иногда моя фреймворк не перезапускается в течение нескольких дней, хотя я делаю сотни обновлений для пакетов (в bndtools каждый раз, когда вы сохраняете свой код, он автоматически развертывается в вашей рабочей среде). Поскольку реализация db редко нуждается в обновлении, db постоянно работает.