这一篇文章讲解如何发布一个JINI的服务。
(参考的书是:JINI EXAMPLE BY EXAMPLE)
1.提供一个服务接口
首先,任何JINI服务都需要一个服务接口,表示这个服务能做什么。我们这里使用的是一个货币转换的服务,例如输入数量(单位为美元)和国家,表示将美元转换为某个国家的货币。
这个接口的代码如下:
这里有几个注意,在eclipse中编辑时,需要导入的2个外部库为:jini2_1/lib/jini-core.jar;jini2_1/lib/jini-ext.jar;
2.创建一个服务的代理
服务接口只是发布出来给客户看的,里面没有任何实现,有实现的在JINI里称为服务代理。服务代理需要实现serializable接口。
服务代理类的代码如下:
这里初始化了2个国家的转化货币的比率。
3.发布服务
发布服务需要首先发现一个查找服务。在JINI里用LookupDiscoveryManager类来进行寻找一个发现服务。
寻找到发现服务后,用一个Listener来进行工作。
当找到发现服务后,Listener调用discovery方法,在discovery方法里,进行服务的注册。
服务注册使用类初始化的时候建立的服务代理的对象。
4.测试
进入源码下的bin目录,执行代码如下:
C:/Documents and Settings/Administrator/workspace/JiniExample1/bin>java -cp D:/j
ini2_1/lib/jini-core.jar;D:/jini2_1/lib/jini-ext.jar;D:/jini2_1/lib/sun-util.jar
;.; -Djava.security.policy=C:/policy -Djava.rmi.server.codebase=http://zz439:808
1/ example.chapter2.CurrencyConvertService
Started .....
discovered a lookup service!......
set ServiceID to :2e68d56d-cebb-4d61-bcd8-bc99ce09a039
可以看到,服务已经被注册上了,而且在窗口界面上也可以看到一个新的服务。