最近刚开发了一个需求,使用ICE调用服务器端的接口,过程如下:
1 首先是准备环境,通过下载得到安装包,这次我用的是3.1版本(目前最新是3.4)
2 接着使用bin目录下slice2java将得到的ice文件转化为Java类,命令为slice2java ****.ice
3 将lib目录下Ice.jar引入Java工程内,开始编写客户端代码
Java代码
public abstract class AbstractIceAgent {
protected Logger logger = LoggerFactory.getLogger(AbstractIceAgent.class.getName());
private static final int DEFAULT_TIME_OUT = 2000;
String identId;
public AbstractIceAgent(){
}
public AbstractIceAgent(String identId){
this.identId = identId;
}
public String getIdentId() {
return identId;
}
public void setIdentId(String identId) {
this.identId = identId;
}
public Object executeProxy(Object bean) {
Communicator communicator = Ice.Util.initialize();
Object returnValue = null;
try {
ObjectPrx objPrx = communicator.stringToProxy(identId);
objPrx.ice_timeout(DEFAULT_TIME_OUT);
returnValue = methodAction(objPrx, bean);
} catch (Exception e) {
logger.error("execute proxy cause error:" + e);
throw new RuntimeException(e);