Как установить глобальные переменные портала в liferay?

В настоящее время я работаю над порталом, и мне нужно использовать Liferay в качестве сервера портала.

У моего приложения будут некоторые глобальные настройки, к которым мне нужно будет получить доступ во всех портлетах моего портала.

как лучше всего загружать такие настройки конфигурации? Я хочу, чтобы эти параметры конфигурации считывались из файла конфигурации / базы данных. но он должен быть прочитан только один раз при запуске приложения. Я не хочу, чтобы настройки считывались из базы данных / файла для каждого запроса.

Кроме того, я бы использовал структуру скорости для шаблонов, могу ли я прочитать те же глобальные переменные в моих шаблонах скорости?

Могу ли я поместить эти глобальные переменные в свой файл portal-ext.properties, и если да, как я могу загрузить в него значения по умолчанию?

Любые другие подходы также помогут,

заранее спасибо


person Rajesh Pantula    schedule 22.12.2011    source источник


Ответы (2)


Добавьте в portal-ext.properties следующее:

my.key=myValue

Вы можете реализовать PropsKeys для ключа:

public class ExtPortalKeys implements PropsKeys {
public static final String MY_KEY = "my.key";
}

а затем позвоните:

PrefsPropsUtil.getString(companyId, ExtPortalKeys.MY_KEY);

С уважением

person Tony Rad    schedule 02.02.2012

Один из подходов - использовать обработчик действий после входа в систему.

Определите свой класс в файле portal-ext.properties

login.events.post = com.xxx.PostLoginAction

В классе вы можете прочитать конфигурацию или свойства из файла / базы данных. Вы можете установить их как некоторые глобальные значения сеанса, которые могут использоваться всеми портлетами.

Более подробная информация о действиях после входа в систему и совместном использовании сеанса доступна по ссылкам ниже.

http://www.liferay.com/community/wiki/-/wiki/Main/Custom+Post-login+Redirect

http://www.liferay.com/community/wiki/-/wiki/Main/Session+Sharing

person Shashank    schedule 30.10.2013