Я использую db4o 6.4.54 в среде OSGi в качестве хранилища моделей. Каждый раз, когда я перезапускаю платформу OSGi, база данных кажется пустой, хотя файл там и не определенно определен.
У меня есть следующая конфигурация:
Базовый комплект, который зависит от стандартного комплекта db4o_osgi, предоставляемого db4o. Пакет пользовательского интерфейса, который зависит от основного модуля, откуда он получает модель.
Базовый комплект создает сервер в памяти с помощью метода openServer (String, 0), а затем создает отдельных клиентов для каждого запроса / потока.
Проблема в том, что при каждом создании сервера db4o запросы не возвращают результата.
Я пытался использовать сервис, но он также не работал.
Следующим шагом в моем тестировании было включение db4o непосредственно в мой комплект, и это сработало (в результате классы db4o загружались тем же загрузчиком классов, что и объект модели, который я сохранял в базе данных). На форуме db4o есть одно сообщение [1], но оно не объясняет, почему существует эта проблема и как ее следует решить (правильно). Я продолжу свои исследования, но мне интересно, решал ли кто-нибудь еще эту проблему до меня?