Переопределение событий запуска Liferay
У меня вопрос по поводу Liferay Startup Events.
В документации Liferay указано:
Startup Events
Введите список имен классов, разделенных запятыми, которые расширяют
com.liferay.portal.struts.SimpleAction
, Эти классы будут выполняться в указанное событие.
Кто-нибудь может сказать, пожалуйста, в чем разница между global.startup.events
а также application.startup.events
и может ли какой-нибудь орган сказать мне, в каком случае нам нужно переопределить их?
И если оба этих запуска запускаются com.liferay.portal.struts.SimpleAction
?? и я не мог ничего найти внутри SimpleAction
кроме этого:
public abstract class SimpleAction {
public abstract void run(String[] ids) throws ActionException;
}
}
Я также хотел знать, что этот класс не содержит ничего, как Liferay знает, какие XML-файлы нужно читать и обрабатывать?
Спасибо
1 ответ
global.startup.events
- запустить один раз для глобального сервера
application.startup.events
запустить для каждого экземпляра портала при запуске. Если у вас есть один экземпляр портала на вашем сервере (обычный случай) - здесь нет разницы между этими свойствами. я использую application.startup.events
,
Расширить com.liferay.portal.kernel.events.SimpleAction
класс и склонность run
-метод, который будет вызывать стартап liferay. Для этого создайте подключаемый модуль hook и зарегистрируйте в файле liferay-hook.xml файл свойств, например:
<hook>
<portal-properties>portal-myext.properties</portal-properties>
</hook>
Создайте portal-myext.properties
в classpath и установите действие при запуске:
application.startup.events=com.my.actions.MyStartupAction
Действие MyStartupAction
должен быть в том же classpath, следовательно, тот же подключаемый модуль.