eclipse中开发corba完整说明(jacORB版)-文库中原有的文件中有部分错误-已修改

   以下是java eclipse平台上配置并使用jacORB2.3.0开发例子的步骤:

 
 
0\ 安装jdk1.6.0,要求:jdk的安装路径里不能包含 空格字符或中文等一些jvm无法识别的字符;
    配置环境变量JAVA_HOME=“D:\JavaTool\Java\jdk1.6.0_01” ,CLASSPATH=“.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;”, path后添加 “%JAVA_HOME%\bin;”
 
1\ 下载配置ANT工具(apache-ant-1.7.0-bin.zip),解压缩并配置环境变量,ANT_HOME=D:\JavaTool\apache-ant-1.7.0; CLASSPATH后添加“%ANT_HOME%\lib\ant.jar;”;path后添加“%ANT_HOME%\bin;”
 
2\ 下载开源corba软件JacORB-2.3.0-bin,配置环境变量 JACORB_HOME=“D:\JavaTool\JacORB-2.3.0”,
 
在CLASSPATH后添加“%JACORB_HOME%\lib\idl.jar;%JACORB_HOME%\lib\jacorb.jar;%JACORB_HOME%\lib\logkit-1.2.jar;%JACORB_HOME%\lib\avalon-framework-4.1.5.jar;%JACORB_HOME%\classes;”,
 
在path后添加“%JACORB_HOME%\bin;”
 
CLASSPATH:(分行复制)
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%ANT_HOME%\lib\ant.jar;%JACORB_HOME%\lib\idl.jar;%JACORB_HOME%\lib\jacorb.jar;%JACORB_HOME%\lib\logkit-1.2.jar;%JACORB_HOME%\lib\avalon-framework-4.1.5.jar;%JACORB_HOME%\classes;
 
PATH:
%JAVA_HOME%\bin;%ANT_HOME%\bin;%JACORB_HOME%\bin;
 
 
3\ 更改JacORB-2.3.0\bin目录下 idl.tpl、idl.bat.tpl、jaco.tpl和jaco.bat.tpl文件,去掉它们的".tpl"后缀名
   更改jaco.bat和idl.bat文件里内容的 "@JAVA_CMD@"为"JAVA", 意思是: jvm的”运行“命令
 
 
 
4\ 新建JacORB-2.3.0\classes子目录,并把JacORB-2.3.0\etc目录下jacorb_properties.template文件拷贝JacORB-2.3.0\bin\classes里,此文件更名为jacorb.properties。**********注意是jacorb.properties而非jacorb_properties********
   编辑jacorb.properties文件,设置其中的ORBInitRef.NameService=file:/c:/NS_Ref(这里是示例,当然可以为任何httpURL或者其他路径),这个NS_Ref文件会在启动命名服务时生成.该配置文件其余部分保留默认值即可.
 
5\ 测试命名服务(NS,Naming Service)是否可以正常启动。
   在dos命令行下输入:ns,如果出现:
    “[jacorb.orb.print_ver] INFO :
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        JacORB V 2.3.0, www.jacorb.org
        (C) The JacORB project 17-Feb-2007
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     [jacorb.orb] INFO : Property "jacorb.hashtable_class" is set to: java.util.Hasht
     able”
     表示在java下面配置jacORB成功!
 
6\ 启动server端。新开一个dos窗口,切换到JacORB-2.3.0自带的例子目录,比如D:\JavaTool\JacORB-2.3.0\demo\grid,
  6.1\  输入ant进行方案部署,确定成功!
  6.2\  在dos窗口中执行 jaco demo.grid.Server 或者 jaco demo.grid.TieServer,
        在输出窗口看到
        “[jacorb.orb.print_ver] INFO :
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        JacORB V 2.3.0, www.jacorb.org
        (C) The JacORB project 17-Feb-2007
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        [jacorb.orb] INFO : Property "jacorb.hashtable_class" is set to: java.util.Hash
        able
        [org.jacorb.orb.codes] WARN : Warning - unknown codeset (GBK) - defaulting to I
        O-8859-1
        [jacorb.orb.intercept] INFO : InterceptorManager started with 0 Server Intercep
        ors, 0 Client Interceptors and 1 IOR Interceptors
        [jacorb.poa] INFO : oid:
        00 15 3D 04 34 15 41 2B 30 42                               ..=.4.A+0B
        object is activated
        [jacorb.poa] INFO : Using server ID (7780956264) for transient POA
        [jacorb.orb.singleton] INFO : created ORBSingleton
        [jacorb.orb.giop] INFO : ClientConnectionManager: created new ClientGIOPConnect
        on to 192.168.1.19:1046 (8a0d5d)
        [jacorb.orb.iiop] INFO : Connected to 192.168.1.19:1046 from local port 1048
        [jacorb.orb] INFO : ORB run”
        
  6.3\  这时在ns输出窗口可以看到:
         [jacorb.naming] INFO : Bound name: grid.example
 
7\ 启动client端。新开一个dos窗口,切换到JacORB-2.3.0自带的例子目录,比如D:\JavaTool\JacORB-2.3.0\demo\grid,
  7.1\  在dos窗口中执行jaco demo.grid.Client
        在输出窗口看到
        “Height = 31
         Width = 14
         Old value at (30,13): 0.21
         Setting (30,13) to 470.11
         New value at (30,13): 470.11
         MyException, reason: This is only a test exception, no harm done :-)
         [jacorb.orb] INFO : prepare ORB for shutdown...
         [jacorb.orb] INFO : ORB going down...
         [jacorb.orb.iiop] INFO : Client-side TCP transport to 192.168.1.19:1047 closed.
         [jacorb.orb.iiop] INFO : Client-side TCP transport to 192.168.1.19:1046 closed.
         [jacorb.orb] INFO : ORB shutdown complete
         done.” ,表示运行demo.grid例子成功!
  7.2\ 
 
8\ 配置CORBA的JAVA IDE环境 - 工具: Eclipse 3.2 + MyeclipseEnterprise5.1。
   8.1\ 解压缩并配置eclipse3.2版本
   8.2\ 安装myeclipse(MyEclipseEnterpriseWorkbenchInstaller_5.1.0GA_E3.2.1.exe版本)
 
E:\Program Files\eclipse3.3\plugins\ORBStudio_7.7.7.jar
   8.3\ 下载并配置eclipse的CORBA插件ORBStudio777.zip。解压缩把里面 ORBStudio_7.7.7.jar 文件放到目录 “eclipse-SDK-3.2.1-win32\newplugins\ORBStudio7.7.7\eclipse\plugins”下,并在eclipse-SDK-3.2.1-win32\links\文件下创建连接文件“ORBStudio7.7.7.link”,写如下内容“path=D:\\coco\\java\\eclipse-SDK-3.2.1-win32\\newplugins\\ORBStudio7.7.7”,意思是告诉eclipse说我的插件放在目录“D:\coco\java\eclipse-SDK-3.2.1-win32\newplugins\ORBStudio7.7.7”。 重启eclipse后“新建”向导-“其他”里能看到“CORBA Wizard”表示配置插件成功
   8.4\ 配置ORBStudio IDL编译器,
     8.4.1 打开windows->preferences->ORB Studio->IDL Compiler->JacORB项
     8.4.2 配置IDL Command: D:\JavaTool\JacORB-2.3.0\bin\idl.bat (JacORB-2.3.0的idl编译器)  D:\JavaTool\JacORB-2.3.0\bin\idl.bat
     8.4.3 Command Options: -d %D% %F% 
     8.4.4 在IDL Compiler项上选择IDL为 JacORB(J)项
     
9\ 使用eclipse 开发corba测试程序
   9.1\ JacORB的应用开发一般分为以下五步:
      步骤                                                         使用方法                                     用途
      9.1.1.写IDL接口定义                       
      9.1.2.将IDL编译成 Client Stub 代码和 Server Skeleton代码    (IDL接口文件)右键->ORB Menu(U)->Compile     生成java语言的接口
      9.1.3.实现步骤2中生成的接口(server方)                      在eclipse上扩展实现 IDL定义的接口            生成逻辑业务类,继承自 *POA 类
      9.1.4.写服务器启动类,并注册到ORB
      9.1.5.写客户端去获取服务对象引用
      9.1.6.编译和调试。
      9.1.7.运行程序。
 
   9.2\ 查看文件“eclipse中jacORB创建实例.txt”  
 
   9.3\ 利用ip和端口访问的例子“corba-ip- demo”
 
   9.4\ 访问本地服务器的例子“Hello-local- demo”
 
10\ 调试时注意:
    server端:debian平台上用tao开发的.
              未指定nameservice的端口时, 系统将随机指定.
    client端:windowsXP上使用eclipse 3.2 + MyEclipse + jacORB2.3.0
 
    过程:
      10.1\ 程序通过corba ORM在内网取server端的name service,通过ip地址
      10.2\ 第二次存取对象数据时,通过hostname,如果出现无法解析时,先ping 此hostname,如果无法ping通,请配置 C:\WINDOWS\system32\drivers\etc\hosts 文件,在最后添加上一行:“192.168.1.15(server ip)    debian.local(server hostname) ”
      10.3\ 如果通过分布式开发C-S走的是公网,解决方法:可与内网一样,也可以配置DNS解决
      
11\ 自定义端口的调试 
  11.1\ 开DOS窗口, 输入: ns  (启动corba服务)
  11.2\ 开DOS窗口, 输入: tnameserv或orbd,如:tnameserv -ORBInitialPort 2809 (启动Java IDL Name Service)
        格式:
        tnameserv -ORBInitialPort nameserverport 
      其中,nameserverport 是ORB名字服务器的服务端口号,可以自选,如1234(在UNIX系统下,非root用户只能使用大于1024的服务端口号)。
  11.3\ 开DOS窗口, 切换到运行目录下, 运行服务端程序: 
        java EchoServer -ORBInitialHost 192.168.1.19 -ORBInitialPort 2809
        java EchoServer -ORBInitRef NameService=corbaloc:iiop:[email protected]:2809/NameService 
        或:
        java EchoServer -ORBInitRef NameService=corbaloc:iiop:1.2@localhost:2809
        java EchoServer -ORBInitRef NameService=corbaloc::localhost:2809
        注意: 如果在eclipse等IDE下调试, 参数类直接输入名称,不需要包路径
  11.4\ 开DOS窗口, 切换到运行目录下, 运行客户端程序:
        java EchoClient -ORBInitialHost 192.168.1.19  -ORBInitialPort 2809
        java EchoClient -ORBInitRef NameService=corbaloc::192.168.1.19:2809/NameService
        或:
        java EchoClient -ORBInitRef NameService=corbaloc:iiop:1.2@localhost:2809
        注意: 如果在eclipse等IDE下调试, 参数类直接输入名称,不需要包路径
    
11\ jacORB 其他工具介绍:
 
      工具或命令                       作用
      Idl –d 编译后目录 idl文件        编译idl文件。
      Ns ior文件位置                   启动name service服务
      lsns                             文本方式列出当前服务中的name serviec列表
      nmg                              图形方式工作的name service列表,还可以新建Context(没有太明白这个概念)
      dior –f ior文件位置              ior文件解码器,将ior文件翻译成用户可读格式。
      Pingo –f ior文件位置             测试联结ior对象
 
12\
 
 
 

你可能感兴趣的:(eclipse,开发.corba)