当前位置: 首页>>代码示例>>Java>>正文


Java ServiceTracker.getServices方法代码示例

本文整理汇总了Java中org.osgi.util.tracker.ServiceTracker.getServices方法的典型用法代码示例。如果您正苦于以下问题:Java ServiceTracker.getServices方法的具体用法?Java ServiceTracker.getServices怎么用?Java ServiceTracker.getServices使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.osgi.util.tracker.ServiceTracker的用法示例。


在下文中一共展示了ServiceTracker.getServices方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: loadOsgiPlugin

import org.osgi.util.tracker.ServiceTracker; //导入方法依赖的package包/类
/**
 * Creates an instance of the specified class type in OSGi mode.
 * This method will throw {@link PluginLoadingException} when the relevant bundle is not found or on any other
 * exception
 *
 * @param type      type of the instance to be created
 * @param className name of the class
 * @param <T>       type of the instance to be created
 * @return instance of the specified class type
 */
private <T> T loadOsgiPlugin(Class<T> type, String className) {
    if (bundleContext == null) {
        return null;
    }

    ServiceTracker<T, T> serviceTracker = getServiceTracker(type);
    @SuppressWarnings("unchecked")
    T[] services = serviceTracker.getServices((T[]) new Object[serviceTracker.size()]);
    for (T service : services) {
        if ((service != null) && (service.getClass().getName().equals(className))) {
            return service;
        }
    }

    return null;
}
 
开发者ID:wso2-attic,项目名称:carbon-uuf,代码行数:27,代码来源:OsgiPluginProvider.java


注:本文中的org.osgi.util.tracker.ServiceTracker.getServices方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。