Liferay Navigation에 후크를 만들 수 있습니까? 사이트 변경과 상호 작용하도록 사이트를 만들고 싶습니다. 예를 들어 사이트 'A'에서 모든 포틀릿은 DB 스키마 'A'에 연결되지만 사이트 'B'에서 동일한 포틀릿은 스키마 'B'에 연결됩니다.Liferay 탐색 훅
//get the theme display from the current request
ThemeDisplay theme = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);
theme.getSiteGroupName(); //connect to datastore based on this value
나는 사이트 탐색에 따라이 변화를 가지고 더 효과적 일 것입니다 느낌 : 예 -
나는 현재 ThemeDisplay에서 사이트를 얻을 수있는 PhaseListener를 사용하고, 글로벌 세션 변수에 설정하고 있습니다 이 수신기를 모든 포틀릿에 두는 것을 피하십시오.
의견 &?
데이터 저장소 상호 작용을 처리하기 위해 MyBatis를 사용하고 있습니다. 각 포틀릿의 RESTORE_VIEW 단계에서 현재 사이트를 가져 와서 적절한 환경을로드합니다. Mybatis는 연결/풀 등을 처리해야합니다 ... 필자는 포틀릿이로드 될 때마다이 검사를 실행하는 것에 관심이 있습니다 (매우 작지만). 따라서 탐색 훅 (hook)이 있지만 천천히 그것이 가능하지 않다고 믿기 시작했습니다. – Floresj4