Java部署IceGrid服务实例

一、概念

slice: ice提供了自己的接口定义语言。用来定义rpc(远程过程调用协议)的接口和对象。

ice.object: rpc调用的接口必须继承自ice.Object

servant:ice.Object的实例化对象叫做servant(服务单元),rpc调用的就是servant对象,因此servant需要线程安全

endpoints:客户端rpc调用servant的地址例如:default -h 192.168.0.1 -p 10000

icebox:servant的容器,负责servant的装配,期待参数,启动顺序等

icenode:icebox的容器,负责Icebox的装载和启停,采集主机负载信息,执行控制器IceGrid Admin的指令

registry:注册中心,负责管理icenode的注册,负责和发布。

二、环境变量配置

 安装ice-3.4.1,jdk1.8.0_60 并配置环境变量

三、代码

1.定义slice文件,通过slice2java生动对应的java文件

Message.ice

[["java:package:com.promotion.ice"]]

module book{

  struct Message {

  string name;

  int type;

  bool valid;

  double price;

  string content;

  };

 

    interface OnlineBook{

       Message bookTick(Message msg);

    };

};

SMSService.ice

[["java:package:com.promotion.ice"]]

module message {

  interface SMSService{

   void sendSMs(string msg);

  };

};

2. 服务端:OnlineBookI2 实现OnlineBook 的接口和IceBox的Service接口

SMSServiceI2 实现SMSService接口和IceBox的Service接口

客户端代码

四、配置文件

registry配置文件一个:registry.cfg

node配置文件n个:node1.cfg,

应用描述文件app.lication.xml

配置文件详情:

registry.cfg

 

node1.cfg

 

application.xml

 

 
 

五、启动

步骤:

1.启动registry

   进入registry.cfg文件夹下执行 icegridregistry --Ice.Config=registry.cfg 命令

2. 启动node

   执行 icegridnode --Ice.Config=node1.cfg 命令

 3. 部署应用描述文件

   执行 icegridadmin -u test -p test --Ice.Default.Locator="IceGrid/Locator:tcp -h 10.32.141.30 -p 4061

登录后执行 application add application.xml 成功后执行server list

启动相应服务server start server1

4.  图形界面管理工具访问

双击ice安装目录下的bin/IceGridGUI.jar 进入图形界面,登录

转载于:https://www.cnblogs.com/2916660396love/p/7299719.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值