AddonsServiceTrackerCustomizer.java 文件源码

java
阅读 26 收藏 0 点赞 0 评论 0

项目:osgi-jaxrs-extracted 作者:
@Override
public CXFJaxRsServiceRegistrator addingService(
    ServiceReference<CXFJaxRsServiceRegistrator> reference) {

    Thread thread = Thread.currentThread();

    ClassLoader contextClassLoader =
        thread.getContextClassLoader();

    CXFJaxRsServiceRegistrator cxfJaxRsServiceRegistrator =
        _bundleContext.getService(reference);

    try {
        thread.setContextClassLoader(_classLoader);

        if (_serviceClass.isAnnotationPresent(Provider.class)) {
            cxfJaxRsServiceRegistrator.addProvider(_service);
        } else {
            cxfJaxRsServiceRegistrator.addService(_service);
        }


        return cxfJaxRsServiceRegistrator;
    }
    catch (Exception e) {
        _bundleContext.ungetService(reference);

        throw e;
    }
    finally {
        thread.setContextClassLoader(contextClassLoader);
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号