OSGI包可以告诉哪些包消耗它吗?

时间:2014-10-05 18:25:23

标签: java osgi osgi-bundle

例如,如果我有一个'sayHello()'方法,我希望这个方法返回一个稍微不同的字符串,具体取决于调用它的包。

我不能相信来电者包提供它的名字,而是想以某种方式向容器询问来电者的身份。

1 个答案:

答案 0 :(得分:1)

如果您正在谈论一个简单的方法调用,那么这是不可能的。如果您提供消费服务,那么您可以这样做。

您可以注册一个实现http://www.osgi.org/javadoc/r4v43/core/org/osgi/framework/ServiceFactory.html的类,而不是将包含sayHello的Class注册为服务。然后,该类可以创建实际的服务类,并且此时可以访问请求服务的包。