2

JSF マネージド Bean に複数の実装 (参照) があるすべての OSGi サービスを取得する方法を見つけようとしています。

現在、サービスにアクセスするために CDI アノテーションを使用していますが、これは複数のサービス参照をサポートしていないようで、方法がわかりません。

たとえば、次を使用してサービスにアクセスできますが、一度に 1 つしか取得できません。

import javax.inject.Inject;
import org.glassfish.osgicdi.OSGiService;

@ManagedBean
@ApplicationScoped
public class ConnectionMgr 
{
    @Inject @OSGiService
    private ComponentFactory m_Factory;
}

以前は、OSGi 宣言型サービスを使用して、以下のように複数のサービスをバインドしていました。

@aQute.bnd.annotation.component.Reference(multiple = true, dynamic = true)
public void setService(SomeService service)
{
    m_ServiceList.add(service);
}

しかし、私の知る限り、宣言型サービスを JSF マネージド Bean で使用することはできません。

4

0 に答える 0