1 つのバンドルから複数のサービスを登録する必要があります。別の方法でサービスを消費するバンドルが 1 つしかないため、サービス ファクトリを使用できないと思います。複数あるため、物理デバイス (温度センサーなど) を表すバンドルがあります。物理デバイス (例: 10 個の温度センサー、それぞれに一意の ID がある) の場合、同じバンドルからサービスの複数 (10) のインスタンスを取得する必要があります。どうすればよいですか?
質問する
139 次
1 に答える
2
を繰り返し呼び出すだけで、サービスの複数のインスタンスを登録できますcontext.registerService()
。各登録には、次のような個別のプロパティ セットを含めることができます。
Properties props1 = new Properties();
props1.put("my_id", "ID1");
context.registerService(Foo.class.getName(), new FooImpl(), props1);
// ...
Properties props2 = new Properties();
props2.put("my_id", "ID2");
context.registerService(Foo.class.getName(), new FooImpl(), props2);
// ...
(混乱を避けるための用語の言い回しに注意してください。バンドル自体はサービスとして登録されません。オブジェクトを作成し、それらをサービスとして登録します。バンドルは、実行可能コードのデプロイ ユニットまたはコンテナです。バンドルはゼロから多数のサービスを登録できます。および/または他のバンドルによって登録されたサービスを消費します。)
于 2013-01-29T00:40:13.733 に答える