2011-09-13 13 views
4

Eclipse Gemini JPA/DBAccessでEclipse 3.7を使用しています。私は、EntityManagerBuilderFactoryを参照する宣言的なServiceComponentを実装しました。私はこのServiceReferenceためてServiceRegistryを検索する必要があり、またはありますOSGi宣言型サービス - バインドメソッドでServiceReferenceを取得

ServiceReference ref = ... 
    String unitName = (String)ref.getProperty(EntityManagerFactoryBuilder.JPA_UNIT_NAME); 

:私はのように、このサービスの特性を得るためにServiceReferenceを必要とするしかし

public void bindEntityManagerFactoryBuilder(EntityManagerFactoryBuilder emfBuilder) { 
    emfFactoryBuilders.add(emfBuilder); 
} 

:bindメソッドは次のようになりますよりエレガントなアプローチですか?マップが含まれています

public void bindEntityManagerFactoryBuilder(EntityManagerFactoryBuilder emfBuilder, Map properties) 

:あなたは宣言型サービス1.1(最新の仕様バージョン)を使用している場合は、あなたがあなたのbindメソッドのシグネチャを変更することができます

歓声、 Muki

答えて

10

バインドされたサービスのサービスプロパティ

1

あなたがServiceReferenceオブジェクトへのアクセスを持っているしたい場合は、この方法を使用することができます(それは1.0と1.1 DSでサポートされています):

public void bindEntityManagerFactoryBuilder(ServiceReference reference) 
関連する問題