Как обновить сервисы liferay с 6.0 архетипа до 6.2?

В настоящее время я работаю над обновлением Liferay от 6.0 в 6.2.2 GA3, Я попытался обновить портлет служб. Портлет служб версии 6.0 построен с использованием mvn services-portlet-archetype, тогда как для версии 6.2 архетип имеет вид liferay-servicebuilder-archetype, Разница в том, что в 6.2 liferay-servicebuilder-archetype есть два модуля: Module 1: это портлет, который имеет нашу логику кодаModule 2: это сервис-портлет, который имеет файлы классов, сгенерированные во время liferay:build-service, Эти файлы архивируются в файл jar, который позже используется внутри модуля портлета (Модуль 1) для создания файла WAR.

В то время как в 6.0 нет понятия модулей. Файлы классов услуг, созданные во время liferay:build-service создаются в папке служб под src/,

это liferay-servicebuilder-archetype доступно только с Liferay 6.1+ версии, как видно в mvnrepository. Мои предположения о необходимости этого нового архетипа от версии 6.1:
1. Чтобы избежать фиксации автоматически сгенерированных сервисных файлов по ошибке в нашем репозитории с контролем версий.
2. Быть более модульным.

Но с этим новым архетипом я обнаружил, что процесс сборки занимает много пространства permgen и пространства кучи (мне нужно удваивать пространство heap и permgen каждый раз, когда я запускаю mvn clean package liferay:build-service как наблюдается через jvisualvm). Я смог создать тот же портлет с services-portlet-archetype успешно развернут и работает на сервере 6.2 GA3 (без дополнительного пространства permgen и пространства кучи). Но не обнаружил никаких проблем с памятью при его сборке.

Мои вопросы:
1. Какой из этих двух архетипов (liferay-servicebuilder-archetype или же services-portlet-archetype) является хорошей практикой для LifeRay 6.2 GA3.
2. В дальнейшем, если мне нужно обновить все 20+ портлетов, которые я использую в своем проекте, мне нужно создавать из архетипа? (Отнимает много времени и сил).
3. Как решить эту проблему дополнительного потребления памяти при использовании liferay-servicebuilder-archetype это лучшая практика Целевая папка производит больше файлов классов, чем в services-portlet-archetype целевая папка.
4. Необходимость этого нового архетипа заключается в двух вышеупомянутых преимуществах (о которых я догадывался) или есть что-то еще?

1 ответ

Решение

После ожидания более 2 недель ответа на этот вопрос, я предполагаю, что мои следующие предположения являются правильным ответом на этот вопрос.

The need for this new archetype from 6.1 version is: 
1. To avoid committing the auto generated services files by mistake to our version control repo.
2. To be more modular.

Если есть более убедительный ответ, я выберу это, чтобы быть лучшим ответом.

РЕДАКТИРОВАТЬ:::: Нашел эту ссылку полезной https://www.liferay.com/community/forums/-/message_boards/message/51303796

Другие вопросы по тегам