java ServiceLoader
来源:互联网 发布:画网格软件 编辑:程序博客网 时间:2024/05/16 18:08
下面以一个具体的例子来说明一下ServiceLoader的具体使用,类似Hadoop FileSystem中的实现。
首先定义一个接口,具体如下:
public interface IService { public String sayHello(); public String getScheme(); }
该接口有两个子类,分别为HDFSService和LocalService:
public class HDFSService implements IService { @Override public String sayHello() { return "Hello HDFS!!"; } @Override public String getScheme() { return "hdfs"; } }
public class LocalService implements IService { @Override public String sayHello() { return "Hello Local!!"; } @Override public String getScheme() { return "local"; } }
需要在META-INF/services下以IService这个类的全名来新建立一个文件,文件中的内容为两个实现类的全名,如下:
org.hadoop.java.HDFSService
org.hadoop.java.LocalService
所有的实现和配置都已经完成,下面写一个测试类来看一下结果:
public class ServiceLoaderTest { /** * @param args */ public static void main(String[] args) { //need to define related class full name in /META-INF/services/.... ServiceLoader<IService> serviceLoader = ServiceLoader .load(IService.class); for (IService service : serviceLoader) { System.out.println(service.getScheme()+"="+service.sayHello()); } } }
- ServiceLoader java
- java ServiceLoader
- java.util.ServiceLoader使用
- java.util.ServiceLoader使用
- Java ServiceLoader(SPI)学习
- Java ServiceLoader(SPI)学习
- [JAVA]ServiceLoader类学习
- java.util.ServiceLoader使用
- JAVA ServiceLoader详解
- ServiceLoader : JAVA SPI 机制
- java.util.ServiceLoader使用
- Java ServiceLoader(SPI)学习
- Java ServiceLoader源码分析
- java.util.ServiceLoader使用
- ServiceLoader
- ServiceLoader
- java.util.ServiceLoader源码分析
- ServiceLoader 构建可扩展的Java应用程序
- 数据类型转换的方法
- 回来了
- 新人报道 诚心献礼 点击有礼
- C++ 容器 对比介绍
- autotools 入门学习使用
- java ServiceLoader
- Android入门笔记之状态栏通知
- 最近发现 果断不会调试程序啊 经验太少
- 衡量云计算ROI的八个指标
- Multiply Strings
- hdu2444 The Accomodation of Students (二分图判断+最大匹配)
- MATLAB R2013 a版及序列号
- 沃信科技T3 Sota安装配置手册(全)
- OCP第四天