束一つは、クラスServiceImplによって実装サービス注入ありません)、最初のバンドルで提供されるサービス使用:インスタンスを、そしてServiceImplはIServiceを提供すること:私はインポートし、フェリックスに2つのバンドルを起動するとIPojo @ReferenceインターフェイスIServiceを有する
@Component
@Provides
@Instantiate
public class ServiceConsumer
{
@Requires
private IService service;
public doIt()
{
service.doSomething();
}
}
することは、私はすべてのサービスが正しくipojo使用してインスタンス化されていることがわかります。ただし、doIt()が実行されると、serviceはnullになります。
IServiceが利用可能であるようだから、@Requiresが良いインスタンスを注入することが期待されますが、そうでないようです。
私がやっていないことは非常に明白ですが、私には何も分かりません。
ここにサービスの互換性の問題があるのでしょうか?バンドルはどのように整理されていますか?プロバイダバンドルとコンシューマバンドルの両方が同じ場所からインターフェイスパッケージをインポートしますか? –