2011. 11. 14. 22:32
Preference 서비스 OSGi 이야기2011. 11. 14. 22:32
preference 서비스는 3개의 메서드만을 가지는 매우 간단한 형태의 서비스이다.
public interface preferencesService{
public preferences getSystemPreferences(); //본들의 system preference
public Preferences getUserPreferebces(String name); //각 user의 preference
public String[] getUsers();
}
D:\Workspace3\.metadata\.plugins\org.eclipse.pde.core\OSGi Framework\.settings 여기다저장한다잉
이걸 다시 읽을 수 있다잉
preference는 결국 서비스이다. preference 객체를 받아서 위와 같은 메소드를 호출하여 저장하거나 읽을 수 있다.
그럼 서비스가 머임?
서비스는 자바의 RMI같은거
클라이언트는 인터페이스만 가지고 있고, 서버(osgi에서는 모듈)에서 이를 구현하여 클라이언트에게 결과값을 제공해준다.
네트웍 통신이므로 동기화가 필요하다. 그래서 ServiceTracker라는 객체를 사용한다.
tracker = new ServiceTracker(context, [얻고자하는 클래스].class.getName(), null);
tracker.open(); //open을 해줘야 함 <-- 여기서 블럭이 되나???
[얻고자하는 클래스] service = ([얻고자하는 클래스]) tracker.getService();
//이제 클라이언트가 메소드를 호출해서 결과를 얻을 수 있는 로직을 작성한다.
public interface preferencesService{
public preferences getSystemPreferences(); //본들의 system preference
public Preferences getUserPreferebces(String name); //각 user의 preference
public String[] getUsers();
}
D:\Workspace3\.metadata\.plugins\org.eclipse.pde.core\OSGi Framework\.settings 여기다저장한다잉
이걸 다시 읽을 수 있다잉
preference는 결국 서비스이다. preference 객체를 받아서 위와 같은 메소드를 호출하여 저장하거나 읽을 수 있다.
그럼 서비스가 머임?
서비스는 자바의 RMI같은거
클라이언트는 인터페이스만 가지고 있고, 서버(osgi에서는 모듈)에서 이를 구현하여 클라이언트에게 결과값을 제공해준다.
네트웍 통신이므로 동기화가 필요하다. 그래서 ServiceTracker라는 객체를 사용한다.
tracker = new ServiceTracker(context, [얻고자하는 클래스].class.getName(), null);
tracker.open(); //open을 해줘야 함 <-- 여기서 블럭이 되나???
[얻고자하는 클래스] service = ([얻고자하는 클래스]) tracker.getService();
//이제 클라이언트가 메소드를 호출해서 결과를 얻을 수 있는 로직을 작성한다.
'OSGi 이야기' 카테고리의 다른 글
Bundle jar파일로 만들기 (0) | 2011.12.08 |
---|---|
OSGi & Spring DM (0) | 2011.12.01 |
OSGi 콘솔 (0) | 2011.11.15 |
HTTP Service (0) | 2011.11.14 |
OSGI 상태 (0) | 2011.11.14 |