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目录下 jaco.tpl和jaco.bat.tpl文件,去掉它们的".tpl"后缀名
更改jaco.bat和idl.bat文件里内容的 "@JAVA_CMD@"为"JAVA", 意思是: jvm的”运行“命令



4\ 新建JacORB-2.3.0\bin\classes子目录,并把JacORB-2.3.0\bin\etc目录下jacorb_properties.template文件拷贝JacORB-2.3.0\bin\classes里,此文件更名为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:1.2@192.168.1.19: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对象
阅读更多
博主设置当前文章不允许评论。

没有更多推荐了,返回首页

关闭
关闭
关闭