在OSGi的JAX-RS Whiteboard的参考实现中,如何调用createWhiteboard..?

问题描述

Osgi的JAX-RS白板的参考实现称为Aries JAX-RS Whiteboard

我的问题是,whiteboard.class的工厂方法如何以及何时被调用

public static whiteboard createwhiteboard(
    Dictionary<String,?> configuration) {

    return new whiteboard(configuration);
}

例如,如果我将罐子放到Apache Felix实例中?

我在整个项目中搜索createwhiteboard符号,但没有找到任何调用它的符号。我知道是Osgi运行时执行此操作,但是如何,在哪里?

解决方法

好,所以我回答了我自己的问题。

Whiteboard.class由单独的“激活器”类调用,该类实现了标准化的OSGi回调接口BundleActivatorCxfJaxrsBundleActivatorline 76处。这类似于程序的entry point。然后,在line 105处,调用runWhiteboard方法,该方法使用一种可能比在line 198开始的方法更为复杂的方法来抽象出对createWhiteboard的调用

按自下而上的顺序在堆栈中的主要调用将是:

createWhiteboard(configuration)
runWhiteboard(bundleContext,configuration)
start(BundleContext bundleContext) throws Exception

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...