ICEBOX使用示例

本文详细介绍了如何使用ICEBOX系统,包括安装ice3.4.1,配置环境变量,定义slice文件,生成JAVA类,实现服务逻辑,启动服务及客户端编写。重点讲述了IceBox的配置选项,如服务名、入口点、属性继承,以及服务调用优化和日志追踪。通过示例展示了ICE Service之间的交互方式。
摘要由CSDN通过智能技术生成

系统安装ice3.4.1,并配置环境变量;

定义slice文件

[[ "java:package:com.hhly.tel.ice"]]
module book {
   interface OnlineBook {
       void bookTick(string name,double price,string content);
   };

   interface SMSService {
       void sendSMS(string name,double price,string content);
   };
};

这表示有2个接口,一个OnlineBook,一个SMSService,都位于com.hhly.tel.ice.book下面。

生成JAVA类

使用slice2java xx.ice生成

然后将生成的类复制到工程中

上图中圈红的都是ice生成的类。

实现我们自己的逻辑

如上图的service下面,是OnlineBook和SMSService的实现,代码如下:

package com.hhly.tel.ice.book.service;
import Ice.Communicator;
import Ice.Current;
import Ice.ObjectAdapter;
import IceBox.Service;
import com.hhly.tel.ice.book._OnlineBookDisp;
import org.apache.log4j.Logger;
/**
* @Author j.tommy
* @Date 2016/6/19 0019 上午 4:08
*/
public class ICEBookService extends _OnlineBookDisp implements Service{
   
 public static final Logger log = Logger.getLogger(ICEBookService.class);
 private ObjectAdapter _adapter;
 @Override
 public void bookTick(String name, double price, String content, Current __current) {
     log.info("Call bookTick()...params->[name=" + name + ",price=" + price + ",content=" + content + "].");
 }
 @Override
 public void start(String name, Communicator communicator, String[] strings) {
     // 创建objectAdapter,这里和service同名
     _adapter = communicator.createObjectAdapter(name);
     // 传Serant并激活
     Ice.Object object = this;
     _adapter.add(object,communicator.stringToIdentity(name));
     _adapter.activate();
     log.info(name + " started.");
 }
 @Override
 public void stop() {
     log.info(this._adapter.getName() + " stoped.");
     _adapter.destroy();
 }
}
package com.hhly.tel.ice.book.service;
import Ice.Communicator;
import Ice.Current;
import Ice.ObjectAdapter;
import IceBox.Service;
import com.hhly.tel.ice.book._SMSServiceDisp;
import org.apache.log4j.Logger;
/**
*
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值