JAVA调用ICE接口实践

2014-10-30 17:00:06 · 作者: · 浏览: 90

  最近刚开发了一个需求,使用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);