gpt4 book ai didi

eclipse - OSGi 声明式服务 - 在绑定(bind)方法中获取 ServiceReference

转载 作者:行者123 更新时间:2023-12-02 12:05:21 25 4
gpt4 key购买 nike

我正在使用 Eclipse 3.7 和 Eclipse Gemini JPA/DBAccess。我实现了一个引用 EntityManagerBuilderFactory 的声明性 ServiceComponent。绑定(bind)方法如下所示:

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

但是我需要 ServiceReference 来获取该服务的属性,例如:

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

我是否必须在 ServiceRegistry 中搜索此 ServiceReference,还是有更优雅的方法?

干杯,穆基

最佳答案

如果您使用的是 Declarative Services 1.1(最新规范版本),您可以将绑定(bind)方法的签名更改为:

public void bindEntityManagerFactoryBuilder(EntityManagerFactoryBuilder emfBuilder, Map properties)

map 将包含绑定(bind)服务的服务属性。

关于eclipse - OSGi 声明式服务 - 在绑定(bind)方法中获取 ServiceReference,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7401969/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com