Есть ли способ развернуть пакетные пакеты в Apache Felix?
Мы смотрим на реструктуризацию нашего веб-приложения и хотим перейти на более модульное решение, OSGi, кажется, отвечает многим нашим потребностям.
Я натолкнулся на проект Apache Felix и взял его на себя. Это выглядит солидно, но я нахожу цикл разработки немного медленным, так как для того, чтобы изменения в коде были эффективными, требуется сборка пакетов maven.
Вместо этого я хотел бы иметь возможность перезагрузить пакет, как только классы были скомпилированы Eclipse, без каких-либо дополнительных сборок / упаковок. Подобно тому, как Tomcat и другие контейнеры сервлетов поддерживают развертывание "взорванных" военных файлов.
Это возможно сделать с Felix или любым другим контейнером OSGi?
2 ответа
В оболочке Gogo вы можете сделать:
install reference:file:/path/to/exploded/directory
Это установит разобранный комплект. Формат развернутого каталога должен быть точным форматом файла JAR пакета.
Apache Felix FileInstall поддерживает разнесенные пакеты из коробки. Просто установите его и поместите каталог с вашим пакетом в load
каталог (или настройте FileInstall для поиска в другом месте).
Не совсем отвечая на ваш вопрос, но если у вас есть проблемы с циклом сборки, вы должны взглянуть на bndtools, который является плагином для Eclipse, который автоматически собирает и развертывает ваши пакеты в работающей среде при изменении кода.