在 JAX-RS Whiteboard for OSGi 的参考实现中,什么调用了 createWhiteboard(..)?
In the reference implementation of the JAX-RS Whiteboard for OSGi, what calls createWhiteboard(..)?
OSGi 的 JAX-RS 白板的参考实现称为 Aries JAX-RS Whiteboard。
我的问题是,如何以及何时调用 Whiteboard.class
的工厂方法?
public static Whiteboard createWhiteboard(
Dictionary<String, ?> configuration) {
return new Whiteboard(configuration);
}
例如,如果我将 jar 放入 Apache Felix 实例中?
我在整个项目中搜索了 createWhiteboard
符号,但没有找到任何调用它的东西。我知道这是 OSGi Runtime 做的,但是怎么做,在哪里?
好的,所以我回答了我自己的问题。
Whiteboard.class
由实现标准化 OSGi 回调接口的单独“激活器”class 调用,BundleActivator
:CxfJaxrsBundleActivator
在 line 76. This is analogous to the entry point of a program. Then, at line 105, the runWhiteboard
method is called, which abstracts away the call to createWhiteboard
use a method that is perhaps way more complicated than it should be starting at line 198。
堆栈中 bottom-up 顺序的主要调用是:
createWhiteboard(configuration)
runWhiteboard(bundleContext, configuration)
start(BundleContext bundleContext) throws Exception
OSGi 的 JAX-RS 白板的参考实现称为 Aries JAX-RS Whiteboard。
我的问题是,如何以及何时调用 Whiteboard.class
的工厂方法?
public static Whiteboard createWhiteboard(
Dictionary<String, ?> configuration) {
return new Whiteboard(configuration);
}
例如,如果我将 jar 放入 Apache Felix 实例中?
我在整个项目中搜索了 createWhiteboard
符号,但没有找到任何调用它的东西。我知道这是 OSGi Runtime 做的,但是怎么做,在哪里?
好的,所以我回答了我自己的问题。
Whiteboard.class
由实现标准化 OSGi 回调接口的单独“激活器”class 调用,BundleActivator
:CxfJaxrsBundleActivator
在 line 76. This is analogous to the entry point of a program. Then, at line 105, the runWhiteboard
method is called, which abstracts away the call to createWhiteboard
use a method that is perhaps way more complicated than it should be starting at line 198。
堆栈中 bottom-up 顺序的主要调用是:
createWhiteboard(configuration)
runWhiteboard(bundleContext, configuration)
start(BundleContext bundleContext) throws Exception