C:\ICEService\Registry\templates.xml

上面可以运行成 ICEGRID程序了。

可以把上面的exe 发布成 windows 服务:

1 . iceserviceinstall icegridregistry  config.grid   


2. iceserviceinstall icegridnode D:\MyIceGrid\config.node



再用 icegridadmin 增加 service 或用 IceGridGUI.jar 来管理 registery

.InstanceName=MyIceGrid

default -h 192.168.3.95 -p 12000

就可以管理了。

icegridadmin –-Ice.Config=D:\MyIceGrid\config.grid

 application add D:\MyIceGrid\application.xml

server start SimpleServer



http://blogold.chinaunix.net/u/8818/showart_706648.html


通过IceGrid的位置服务配置可以方便系统部署,具体优点不谈了,下面介绍下配置流程。
例子是ice/demo/IceGrid/simple。ice是采用3.2.1版本,测试时候可以自己下载。测试端,对Client.cpp简单做了修改。配置文件和修改后的Client.cpp 在conf.tar.gz内。用户可以下载,然后根据配置放在不同机器上。为了简化我用了一个表来说明,具体可参照测试部署表(1)        文件:    conf.tar.gz
大小:    1KB
下载:    下载



测试系统说明:
一个位置服务器192.168.10.6
两个node
    node4: 192.168.10.4
    node6: 192.168.10.6
 Client.cpp     测试机器     192.168.10.13
 config.grid     位置服务机器     192.168.10.6
 config.node4     服务节点     192.168.10.4
config.node6     服务节点    192.168.10.6
application.xml     位置服务机器    192.168.10.6

                                  部署表((1)
                   
1、配置位置服务

(1) 配置 config.grid
/************************************************************************/
IceGrid.InstanceName=DemoIceGrid

#
# The IceGrid locator proxy.
#
Ice.Default.Locator=DemoIceGrid/Locator:default -h 192.168.10.6 -p 12000

#
# IceGrid registry configuration.
#
IceGrid.Registry.Client.Endpoints=default -p 12000
IceGrid.Registry.Server.Endpoints=default
IceGrid.Registry.Internal.Endpoints=default
IceGrid.Registry.Data=db/registry
IceGrid.Registry.PermissionsVerifier=DemoIceGrid/NullPermissionsVerifier
IceGrid.Registry.AdminPermissionsVerifier=DemoIceGrid/NullPermissionsVerifier
IceGrid.Registry.SSLPermissionsVerifier=DemoIceGrid/NullSSLPermissionsVerifier
IceGrid.Registry.AdminSSLPermissionsVerifier=DemoIceGrid/NullSSLPermissionsVerifier

#
# IceGrid node configuration.
#
IceGrid.Node.Name=localhost
IceGrid.Node.Endpoints=default
IceGrid.Node.Data=db/node
IceGrid.Node.CollocateRegistry=1
#IceGrid.Node.Output=db
#IceGrid.Node.RedirectErrToOut=1

#
# Trace properties.
#
IceGrid.Node.Trace.Activator=1
#IceGrid.Node.Trace.Adapter=2
#IceGrid.Node.Trace.Server=3

#
# Dummy username and password for icegridadmin.
#
IceGridAdmin.Username=foo
IceGridAdmin.Password=bar
/************************************************************************/

(2).配置应用

application.xml文件
/************************************************************************/
<icegrid>
  <application name="Simple">
    <node name="node4">
      <server id="SimpleServer" exe="./server" activation="on-demand">
    <adapter name="Hello" endpoints="tcp" register-process="true">
      <object identity="hello" type="::Demo::Hello" property="Identity"/>
    </adapter>
      </server>
    </node>

    <node name="node6">
      <server id="SimpleServer2" exe="./server" activation="on-demand">
    <adapter name="Hello" endpoints="tcp" register-process="true">
      <object identity="hello2" type="::Demo::Hello" property="Identity"/>
    </adapter>
      </server>
    </node>
  </application>
</icegrid>
/************************************************************************/
说明:该文件主要配置节点和具体服务.主要配置node name和server id(注意不要重复)即可。

2、配置节点信息:
node4节点
config.node4文件
/***********************************************************************/
#
# The IceGrid locator proxy.
#
Ice.Default.Locator=DemoIceGrid/Locator:default -h 192.168.10.6 -p 12000

#
# IceGrid registry configuration.
#
IceGrid.Registry.Client.Endpoints=default -p 12000
IceGrid.Registry.Server.Endpoints=default
IceGrid.Registry.Internal.Endpoints=default
IceGrid.Registry.Data=db/registry
#IceGrid.Registry.PermissionsVerifier=DemoIceGrid/NullPermissionsVerifier
#IceGrid.Registry.AdminPermissionsVerifier=DemoIceGrid/NullPermissionsVerifier
#IceGrid.Registry.SSLPermissionsVerifier=DemoIceGrid/NullSSLPermissionsVerifier
#IceGrid.Registry.AdminSSLPermissionsVerifier=DemoIceGrid/NullSSLPermissionsVerifier

#
# IceGrid node configuration.
#
IceGrid.Node.Name=node4
IceGrid.Node.Endpoints=default
IceGrid.Node.Data=db/node
IceGrid.Node.CollocateRegistry=1
#IceGrid.Node.Output=db
#IceGrid.Node.RedirectErrToOut=1

#
# Trace properties.
#
IceGrid.Node.Trace.Activator=1
#IceGrid.Node.Trace.Adapter=2
#IceGrid.Node.Trace.Server=3

#
# Dummy username and password for icegridadmin.
#
IceGridAdmin.Username=foo
IceGridAdmin.Password=bar
/***********************************************************************/
该文件和config.grid基本一致
注意,IceGrid.Registry注册信息一定要有而且和config.grid一致。注意和node6不一样,因为node6
和位置服务在一个机器上,注册信息已经在config.grid配置了。

node6
config.node6 文件
/***********************************************************************/
#
# The IceGrid locator proxy.
#
Ice.Default.Locator=DemoIceGrid/Locator:default -h 192.168.10.6 -p 12000

#
# IceGrid node configuration.
#
IceGrid.Node.Name=node6
IceGrid.Node.Endpoints=default
IceGrid.Node.Data=db/node
#IceGrid.Node.Output=db
#IceGrid.Node.RedirectErrToOut=1

#
# Trace properties.
#
IceGrid.Node.Trace.Activator=1
#IceGrid.Node.Trace.Adapter=2
#IceGrid.Node.Trace.Server=3

#
# Dummy username and password for icegridadmin.
#
IceGridAdmin.Username=foo
IceGridAdmin.Password=bar

/***********************************************************************/

3、启动运行
1)启动位置服务
    icegridregistry --Ice.Config=config.grid
2)注册节点
    192.168.10.4机器:
         icegridnode --Ice.Config=config.node4  
    192.168.10.6机器:
     icegridnode --Ice.Config=config.node6
3)配置应用:
在 192.168.10.4机器上:
icegridadmin --Ice.Config=config.grid -e  "application add 'application.xml'"

4)测试
    ./client

    usage:
    t: send greeting
    p: send greeting2: shutdown server
    x: exit
    ?: help
选择t则调用 10.4机器;p则调用10.6机器
posted on 2011-04-13 14:21  芝麻开门  阅读(3085)  评论(0编辑  收藏  举报