198.3.3.6. OSGi サービスリゾルバー
OSGi サービスリゾルバー(service(Class<T> serviceType))は、OSGi バンドルコンテキストからタイプ別にサービスを簡単に取得するために使用できます。
public class MyKuraRouter extends KuraRouter {
@Override
public void configure() throws Exception {
MyService myService = service(MyService.class);
...
}
}
service が見つからない場合は、null 値が返されます。サービスが利用できない場合にアプリケーションが失敗する場合は、代わりに requiredService(Class) メソッドを使用します。サービスが見つからない場合、requiredService は IllegalStateException をスローします。
public class MyKuraRouter extends KuraRouter {
@Override
public void configure() throws Exception {
MyService myService = requiredService(MyService.class);
...
}
}