1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/dingnate-dosgi

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Dosgi

Введение

Dosgi — это модульная структура, основанная на OSGI. Если вы хотите заниматься модульным проектированием (развёртыванием), но считаете Equinox и Felix слишком громоздкими, то можете попробовать Dosgi.

Спецификация MANIFEST.MF

1. Конфигурация плагина для пакета в файле pom

<build>                                                
	<plugins>                                          
		<plugin>                                       
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-jar-plugin</artifactId>  
			<configuration>                            
				<archive>                              
					<manifestEntries>                  

2. Спецификации для генерации MANIFEST.MF в узле manifestEntries:

<!-- Ниже приведены зависимости модуля -->
<!-- В качестве имени модуля, обязательно -->
<Implementation-Title>${project.name}</Implementation-Title>
<!-- В качестве версии модуля, обязательно -->
<Implementation-Version>${project.version}</Implementation-Version>
<!-- Класс запуска модуля, должен реализовывать интерфейс com.dosgi.module.IModule, обязательно -->
<Boot-Class>dosgi.module.system.SystemModule</Boot-Class>
<!-- Идентификатор системного модуля, системный модуль уникален и запускается первым, необязательно -->
<Phase>System</Phase>
<!-- Фреймворк будет сканировать только классы в пути, указанном префиксом Module-Class-Prefix, необязательно -->
<Module-Class-Prefix>${module.class.root}</Module-Class-Prefix>
<!-- Объявление экспортируемого пакета, несколько объявлений разделяются запятой, экспортируются только классы из корневого каталога пакета, необязательно -->
<!-- <Export-Package>com.x,com.x.y</Export-Package> -->
<!-- Объявление импортируемого пакета, несколько объявлений разделены запятой, можно указать версию, доступны классы из импортированного пакета, необязательно -->
<!-- <Import-Package>com.x.y,com.x;version=1.2.3</Import-Package> -->
<!-- Объявление зависимостей модуля, несколько объявлений разделены запятыми, можно указать версию, доступны классы зависимого модуля, необязательно -->
<!-- <Require-Module>module12,module11;version=1.2.3</Require-Module> -->
<!-- Ниже представлены немодульные зависимости -->
<Specification-Title>${project.name}</Specification-Title>
<Specification-Version>${project.version}</Specification-Version>
<Specification-Vendor>${project.organization.name}</Specification-Vendor>
<Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
<Implementation-Vendor-Id>dosgi</Implementation-Vendor-Id>
<X-Compile-Source-JDK>${maven.compile.source}</X-Compile-Source-JDK>
<X-Compile-Target-JDK>${maven.compile.target}</X-Compile-Target-JDK>

Использование

Обычное приложение

Разработка

  • Скачайте исходный код проекта.
  • Создайте новый модуль проекта, вы можете обратиться к SystemModule в dosgi.module.system и конфигурации упаковки в pom.xml.
  • Разработайте бизнес-логику модуля.
  • Запустите сборку dosgi.parent с помощью pom.xml.
  • Выполните отладку, запустив класс com.dosgi.Dosgi.start().

Развёртывание

  • Запустите сборку dosgi.parent с помощью pom.xml.
  • Обратитесь к приложенному примеру развёртывания dosgi и поместите пакет в каталог modules.
  • Измените сценарий запуска по мере необходимости и запустите сценарий запуска.

Веб-приложение

Разработка

  • Загрузите исходный код проекта.
  • Создайте новый модуль проекта, обратитесь к SystemModule в dosgi.module.system и конфигурации упаковки в pom.xml.
  • Разработайте веб-логику и бизнес-логику модуля.
  • В web.xml измените module.home на абсолютный путь и выполните отладку: dosgi.web -> запустить как -> запустить на сервере -> tomcat.

Развёртывание

  • В web.xml замените module.home путём развёртывания.
  • Соберите dosgi.parent через pom.xml.
  • Скопируйте папку dosgi.parent/modules в каталог tomcat/webapp/.
  • Запустите tomcat.

Журнал изменений

2018/04/04

  • Модули dosgi поддерживают внешние библиотеки с координатами maven.
  • Поддерживает динамический запуск, остановку и перезапуск модулей.
  • Небольшое рефакторинг: DosgiLauncher, DosgiContextDefault, Dosgi, DosgiClassLoader.

2018/04/03

  • Добавлен проект dosgi.web для поддержки веб-разработки.
  • Удалён класс Main, вход изменён на com.dosgi.Dosgi.start()

Общение

Пожалуйста, оставьте комментарий или создайте issue, я отвечу вам своевременно.

Пожертвование

Если вы считаете, что этот проект полезен для вас, пожертвование является лучшей поддержкой для автора.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Dosgi (Досджи) — это модульная структура, основанная на OSGI. Если вы хотите заниматься модульным программированием (развёртыванием), но считаете Equinox и Felix слишком громоздкими, то можете попробовать Dosgi. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/dingnate-dosgi.git
git@api.gitlife.ru:oschina-mirror/dingnate-dosgi.git
oschina-mirror
dingnate-dosgi
dingnate-dosgi
master