`
akiraray
  • 浏览: 88141 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Linux下的Jacorb2.3 demo配置

阅读更多
因为毕业设计的需要(中间件方向)不得不的去搞corba,还有可恶的tuxedo
就下载了这个大名鼎鼎的开源软件了- -
因为工作环境是Linux(Ubuntu804,centOS 5.0)
所以就很习惯的在linux下跑了
找了篇教程 一直没跑起来- 3-(都是Win下的配置)
原来2.3的默认模板改了这么多……
所以分享下自己的配置心得

首先,下载一份bin形式的Jacorb2.3的文档,解压缩在某一个目录下(本人~\bin\Jacorb
然后确定自己有ant并配置到了path下
然后配置一下下环境变量到某个环境文件中(比如/etc/environment.env
加上一下变量

JACORB_HOME="/home/@你的目录@/bin/JacORB"

PATH=$PATH:$JACORB_HOME/bin:$JAVA_HOME/bin

CLASSPATH=$CLASSPATH:$JACORB_HOME/lib/jarorb.jar:$JACORB_HOME/lib/idl.jar:$JACORB_HOME/lib/logkit-1.2.jar:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JACORB_HOME/classes


然后运行 . /etc/enviroment将变量加入环境中


接着进入Jacorb/demo/grid目录下
用ant 编译整个grid demo工程
一般这里如果提示某个lib没找到 估计是classes没配全
如果编译成功了 说明基本的环境变量就对了~

然后进入Jacorb/bin/
目录下
将ns.tpl和jaco.tpl复制一下 更改后为ns 与jaco
这两个文件是shell脚本- -
不过也奇怪 这个shell如果直接运行是不行的
问题出在这2个文件竟然是dos style的
所以 使用vim打开这2个文件
按下esc
输入
:set ff=unix

将文件改成unix style
并修改jaco文件中的参数将@@@包围的变量修改一下
这里贴一下我改好的配置

jaco
#!/bin/sh
#
# JACO - JacORB cmdline
# @author Christoph Becker (PrismTech)
# @author Alexander Fetke (PrismTech)
# @author Alphonse Bendt (PrismTech)
# @version $Id: jaco.tpl,v 1.5 2006/12/21 10:08:51 alphonse.bendt Exp $
# @DONT_EDIT@

JACORB_HOME=${JACORB_HOME}

JAVA_CMD=${JAVA_HOME}/bin/java

# verbosity output
#echo    "using JAVA_CMD   : ${JAVA_CMD}"
#echo    "Using JacORB from: ${JACORB_HOME}"
#echo -e "using CLASSPATH  :\n\t`echo $CLASSPATH | sed -e 's/:/\n\t/g'`"

exec "$JAVA_CMD"                                                    \
    -Djava.endorsed.dirs="${JACORB_HOME}"/lib                       \
    -Djacorb.home="${JACORB_HOME}"                                  \
    -Dorg.omg.CORBA.ORBClass=org.jacorb.orb.ORB                     \
    -Dorg.omg.CORBA.ORBSingletonClass=org.jacorb.orb.ORBSingleton   \
    -classpath "${CLASSPATH}"                                       \
     "$@"




最后copy一下 Jacorb/etc/jacorb_properties.template
到classes(ant编译项目后生成的文件夹)
更名为jacorb.properties
打开文件 修改里面的2个intiRf的路径
jacorb.naming.ior_filename=@你的路径@
ORBInitRef.NameService=@你的路径@


然后进步 classes目录下(同时打开3个窗口)
首先启动 nameserver
输入ns
看到提示成功消息(xx RUN)
在另外一个窗口输入 jaco demo.grid.Server启动server程序
再在地三个窗口中输入jaco demo.grid.Client 启动客户端程序
这时候就能在 server 和ns 的窗口中看到连接信息
而在client窗口可以看到 程序的信息
大功告成!
分享到:
评论
4 楼 wangyi_xuxiaowei 2016-11-24  
你好,请教一下这个jacorb的问题。
我搞一个java project叫TestPro,放到了jacorb/classes/下。
目录结构是:
jacorb
     |——bin
     |——其他
     |——classes
                   |——jacorb.properties
                   |——TestPro
                                |——jacorb.properties
                                |——classes_
                                           |——server端程序
                                           |——client端程序
                                           |——idl生成的接口程序



同样的jacorb版本,我再windos下是可以运行的。
其中jacorb.properties中指定:
------------------------------------------------------------------
ORBInitRef.NameService=file://usr/local/jacorb/NS_Ref
ORBInitRef.InterfaceRepository=file:/usr/local/jacorb/IR_Ref
jacorb.naming.ior_filename=/usr/local/jacorb/NS_Ref
-------------------------------------------------------------------
设置的环境变量
export JAVA_HOME=/usr/java/jdk1.7.0_79
export JACORB_HOME=/usr/local/jacorb
export PATH=$PATH:$JAVA_HOME/bin:$JACORB_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JACORB_HOME\lib:$JACORB_HOME\classes
但是到了centos下,ns命令可以跑起来,并且能够在usr/local/jacorb目录下生成NS_Ref文件。
但是运行server时,jaco server.HelloServer
报错:server--->44444
2016-11-24 11:11:31.131 FINE Trying to resolve URL/IOR from: file://usr/local/jacorb/NS_Ref
Tried and failed to open file: usr/local/jacorb/NS_Ref
2016-11-24 11:11:31.352 FINE Error reading IOR/URL:
    java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
    java.net.Socket.connect(Socket.java:579)
    java.net.Socket.connect(Socket.java:528)
    sun.net.ftp.impl.FtpClient.doConnect(FtpClient.java:958)
    sun.net.ftp.impl.FtpClient.tryConnect(FtpClient.java:918)
    sun.net.ftp.impl.FtpClient.connect(FtpClient.java:1013)
    sun.net.ftp.impl.FtpClient.connect(FtpClient.java:999)
    sun.net.www.protocol.ftp.FtpURLConnection.connect(FtpURLConnection.java:294)
    sun.net.www.protocol.ftp.FtpURLConnection.getInputStream(FtpURLConnection.java:393)
    java.net.URL.openStream(URL.java:1037)
    org.jacorb.util.ObjectUtil.newInputStreamReader(ObjectUtil.java:84)
    org.jacorb.util.ObjectUtil.readURL(ObjectUtil.java:51)
    org.jacorb.orb.ParsedIOR.parse(ParsedIOR.java:473)
    org.jacorb.orb.ParsedIOR.<init>(ParsedIOR.java:226)
    org.jacorb.orb.ORB.string_to_object(ORB.java:1913)
    org.jacorb.orb.ORB.resolve_initial_references(ORB.java:1238)
    server.HelloServer.main(HelloServer.java:37)
2016-11-24 11:11:31.353 SEVERE Exception while converting string to object
    org.jacorb.orb.ParsedIOR.parse(ParsedIOR.java:485)
    org.jacorb.orb.ParsedIOR.<init>(ParsedIOR.java:226)
    org.jacorb.orb.ORB.string_to_object(ORB.java:1913)
    org.jacorb.orb.ORB.resolve_initial_references(ORB.java:1238)
    server.HelloServer.main(HelloServer.java:37)
2016-11-24 11:11:31.353 SEVERE Could not create initial reference for "NameService"
Please check property "ORBInitRef.NameService"
2016-11-24 11:11:31.353 FINE null
org.omg.CORBA.ORBPackage.InvalidName: IDL:omg.org/CORBA/ORB/InvalidName:1.0
        at org.jacorb.orb.ORB.resolve_initial_references(ORB.java:1254)
        at server.HelloServer.main(HelloServer.java:37)
HelloServer Exiting...........

请你帮忙给看看。不胜感激!!!
我的qq是  346495299 邮箱是:346495299@qq.com
期盼你的答复啊!!感谢


3 楼 fjcsx 2011-01-05  
你好。非常感谢你的jacorb linux的文章,让我在希望渺茫的时候 看到了光明。

但我ant 和 jdk 等都准确配置完后  配置jacorb完后,启动ns时看不到(xx RUN)
提示信息是和敲java的命令的提示信息一样.
jacorb.naming.ior_filename=@你的路径@  
ORBInitRef.NameService=@你的路径@ 
上面两句可以改成这样么?
jacorb.naming.ior_filename=@/home/ctc/jacorb2.3.1@  
ORBInitRef.NameService==@/home/ctc/jacorb2.3.1@
还是
jacorb.naming.ior_filename=/home/ctc/jacorb2.3.1
ORBInitRef.NameService==/home/ctc/jacorb2.3.1

图片上有jaco文件的配置、环境变量的设置、jaco运行的提示
师傅赐教
2 楼 akiraray 2009-05-14  
hwaspf 写道

请问下怎么在eclipse里面运行Server和Client?&nbsp; 方便谈谈吗?

Client具体的就看你是怎么实现了 JavaWeb还是Swing之类的
Server暂时没找到有插件 我一般都是作个脚本启动Server的
1 楼 hwaspf 2009-05-12  
请问下怎么在eclipse里面运行Server和Client?  方便谈谈吗?

相关推荐

Global site tag (gtag.js) - Google Analytics