2011-01-19 5 views
1

SQL 같은 쿼리를 기반으로 페이지를 반환하는 페이징 서비스를 만들고 싶습니다. 여기에 간단한 인터페이스 : OSGI 서비스를 용도별로 설정하기

public interface IPage { 
    public boolean hasNext(); 
    public Object[] next(); 
} 

내가 쿼리 문자열과 페이지 크기 INT로 초기화 할 수 있도록하려면이 서비스를 호출

.

위에서 지정한 인수를 사용하여 초기화 된 서비스에 대한 참조를 얻으려면 어떻게해야합니까? 선언적 서비스를 사용하는 것을 선호하지만, 인수를 전달하려면 ServiceTracker를 사용해야 할 것 같습니다.

도움 주셔서 감사합니다.

답변

4

IPage를 서비스로 노출하는 대신 서비스 대신 IPageFactory를 노출 할 수 있습니다. 그런 다음 팩토리는 쿼리와 페이지 크기를 가져 와서 초기화 된 IPage 인스턴스를 반환합니다.