2016-06-09 4 views
0

방금 ​​Liferay와 작업을 시작했으며 속도를 높이려고합니다. 필자는 REST를 사용하여 Notes 데이터베이스를 호출하고 최근 메일 목록을 표시하는 포틀릿 프로젝트를 작성했습니다.Liferay 플랫폼에서 포틀릿에서 사용할 수있는 라이브러리 함수를 만드는 방법은 무엇입니까?

다음 태스크는 읽지 않은 메일 수를 포함하여 여러 가지 항목을 표시하는 요약 포틀릿을 작성하는 것입니다. 첫 번째 포틀릿에서 일부 기능을 재사용하고 싶습니다.

나는 ServiceBuilder이 흥미 롭다는 것을 보았지만 필자가 본 예제는 SQL 데이터베이스에 대한 것입니다.

다른 종류의 기능을 이런 식으로 노출하는 방법이 있습니까? 아니면 다른 종류의 해결책을 찾아야합니까?

+0

하나의 포틀릿 애플리케이션에 둘 이상의 포틀릿을 통합 할 수 있다는 것을 알고 계십니까? 같은 WAR 파일에 속해있는 한, 둘 이상의 포틀릿에서 동일한 "라이브러리 함수"를 사용할 수 있습니다. –

+0

@ TobiasLiefke - 네, 저도 해 봤습니다. 나는 2 개의 포틀릿 플러그인 프로젝트를 가지고있다. 하나는 Notes 메일, 캘린더, 연락처 등이다. 다른 하나는 전화 교환기에 대한 인터페이스를 처리합니다 (부재중 전화 등). 읽지 않은 메일, 예정된 약속 및 부재 중 전화 수 (즉, 다른 2 개의 포틀릿 플러그인 프로젝트의 기능 사용)를 표시하는 세 번째 애플리케이션을 만들고 싶습니다. – paul

+0

한 포틀릿 플러그인 프로젝트에서 두 개 (또는 세 개)의 포틀릿에 대해 이야기했습니다. 다른 웹 응용 프로그램 (= portlet plugin 프로젝트)에서 함수에 액세스하는 것은 어렵습니다. 한 가지 해결책은 IPC (포틀릿 간 통신)이지만 이벤트 청취를위한 것입니다. 다른 하나는 공유 resp입니다. 웹 컨테이너에있는 전역 라이브러리 (예 :'TOMCAT_HOME/lib/ext'). 그러나 이러한 솔루션을 구축하기 전에 모든 포틀릿을 단일 플러그인 프로젝트에 통합하려고합니다. –

답변

0

service builder를 사용하면 크로스 웹 애플리케이션을 사용하는 글로벌 서비스를 만들거나 liferay 포털에서 tomcat/lib/ext에 service.jar를 넣을 수 있습니다. 빈 엔티티를 작성하면 db의 테이블을 로컬 및 원격 서비스에만 만들지 않습니다. 이런 식으로 xml 구성에서 엔티티 또는 liferay 엔티티를 참조 할 수 있습니다. 우리가 MyServiceLocalUtil, MyServiceUtil 및 호출 할 JSON API를해야합니다 이런 식으로

<entity name="MyService" local-service="true" remote-service="true"> 
     <reference entity="User" package-path="com.liferay.portal" /> 
    </entity> 

.

관련 문제