Настройте Equinox для изменения управления «локальным кешем» - PullRequest
3 голосов
/ 11 августа 2009

Относительно предыдущего вопроса, как позволить OSGi повторно использовать вашу конфигурацию через Config Admin , я все еще пытаюсь решить эту проблему в Equinox Framework.

Павол Юхос писал (а):

Equinox Config Admin (org.eclipse.equinox.cm) хранит данные конфигурации в области постоянного хранения, предоставляемой платформой. И это по умолчанию каталог Equinox для локального кэша пакетов.

Итак, я прочитал эту тему и обнаружил, что есть несколько параметров времени выполнения для Equinox (среди прочего osgi.configuration.area).

Я хочу изменить конфигурацию, чтобы локальный кеш комплекта не удалялся и не очищался, поэтому при следующем запуске Framework будет использоваться последняя введенная конфигурация (для любого комплекта) .

Ответы [ 3 ]

4 голосов
/ 11 августа 2009

Существует также свойство osgi.clean. Если для этого параметра установлено значение true, контейнер OSGi должен при старте удалить существующий кеш пакета (и все связанные данные) и перезагрузить пакеты в кэш времени выполнения. Если для этого параметра установлено значение false, то ваш кеш комплекта должен пережить перезапуск.

Это задокументировано в параметрах времени исполнения Eclipse SDK Equinox.

0 голосов
/ 01 февраля 2012

CM не был предназначен для сохранения данных после остановки контейнера. Если вы хотите сделать это, вы должны использовать Preferences Service.

Таким образом, ваше приложение при инициализации должно получить данные из вашего постоянного хранилища, управляемого PS, и «передать его» КМ, чтобы он работал.

0 голосов
/ 11 августа 2009

Стандартным свойством OSGi для указания необходимости очистки кэша пакета при запуске платформы является org.osgi.framework.storage.clean

org.osgi.framework.storage.clean - определяет, очищается ли кеш пакета. Значением может быть «none» или «onFirstInit», где «none» не сбрасывает кэш пакета, а «onFirstInit» сбрасывает кэш пакета при первой инициализации экземпляра платформы. Значением по умолчанию является «none».

Это относительно новый (на самом деле это все еще черновик, найдите его в R4.2 Draft в разделе 4.2.2), но он должен работать в последних версиях Equinox, думаю.

...