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); ... } }