发布一个JINI服务

来源:互联网 发布:重庆知梦科技有限公司 编辑:程序博客网 时间:2024/06/07 00:15

这一篇文章讲解如何发布一个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

 

可以看到,服务已经被注册上了,而且在窗口界面上也可以看到一个新的服务。