Chinaunix首页 | 论坛 | 博客
  • 博客访问: 249001
  • 博文数量: 59
  • 博客积分: 2000
  • 博客等级: 大尉
  • 技术积分: 752
  • 用 户 组: 普通用户
  • 注册时间: 2006-08-01 20:49
文章分类
文章存档

2011年(24)

2010年(12)

2009年(18)

2008年(5)

我的朋友

分类: Java

2011-06-17 23:04:59

最开始使用的是@Serviceprovider(service=Mp3Finder.clss),可以自动地成为服务提供者,然后为服务应用方提供服务。但是,Serviceprovider不能使用instanceCreate,所以在每次用Lookup.getDefault.lookup(Mp3Finder.classs)时,总是创建一个新的对象而不是引用已存在的对象。
后来,在一个英文网站上找到了使用layer.xml直接定义Services的方法,一试果然管用,哈哈真不错。
--必须
--名字可自定义
--名字可自定义
--必须能够找到Mp3DatabaseFinder类,扩展了Mp3Finder接口
--必须能够找到的Mp3Finder接口
methodvalue="com.galileo.netbeans.module.Mp3DatabaseFinder.getDefault"/>--getDefault为Mp3DatabaseFinder类的默认的构造函数


 
该段代码直接加在layer.xml文件中,然后这样使用:
Mp3Finder finder= Lookup.getDefault().lookup(Mp3Finder.class);
finder.XX();调用Mp3Finder接口定义的函数即可。
 
如果有多个类扩展了Mp3Finder接口,可以用这个
Lookup.getDefault().lookup(Mp3Finder.class);
怎么弄的我有点忘记了,每次我都先把上面一行写上然后按Alt+Enter,然后自动定义一个变量,哈哈,偷懒无罪!
阅读(991) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~