【发布时间】:2016-12-13 16:38:01
【问题描述】:
我正在尝试将DependencyManager 注入到我的组件中。 BundleContext 被注入,但 DependencyManager 不是 (@Inject)。我做错了什么?
import org.apache.felix.dm.DependencyManager;
import org.apache.felix.dm.annotation.api.Component;
import org.apache.felix.dm.annotation.api.Init;
import org.apache.felix.dm.annotation.api.Inject;
import org.apache.felix.dm.annotation.api.Start;
import org.osgi.framework.BundleContext;
@Component
public class InjectionExample
{
@Inject
BundleContext bundleContext;
@Inject
DependencyManager manager;
@Init
void init()
{
System.out.println("Bundle Context: " + bundleContext);
System.out.println("Manager: " + manager);
}
@Start
void start()
{
System.out.println("start");
}
}
【问题讨论】:
-
您是否尝试过为经理使用“@ServiceDependency”注释而不是“@Inject”?
-
是的,我有。我发现了“问题”。我使用了两个版本的依赖管理器。现在我强制使用一个版本。
标签: osgi apache-felix felix-dependency-manager