`
akiraray
  • 浏览: 90706 次
  • 性别: 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?  方便谈谈吗?

相关推荐

    JacORB 2.3 Programming Guide

    1. **安装和配置**:指导用户如何在不同环境中安装和设置JacORB,以及如何配置ORB参数。 2. **IDL到Java绑定**:解释如何使用IDL定义接口,并自动将其转换为Java代码。 3. **ORB初始化和启动**:描述如何在程序中...

    JacORB 2.3 Programming Guide.pdf

    ### JacORB 2.3 Programming Guide #### 一、简介 **JacORB 2.3 编程指南** 是一份详尽的文档,为开发者提供了关于如何使用 JacORB 实现 CORBA (Common Object Request Broker Architecture) 应用的全面指导。...

    jacorb_demo.zip_DEMO_JAVA中间件Demo_java 中间件

    JACORB支持动态调度(Dynamic Invocation Interface,DII)和动态接收(Dynamic Skeleton Interface,DSI),这使得在不预先知道服务器接口的情况下,也可以进行通信。在DEMO中,可能演示了这两种方式中的一种或两种...

    JacORB官方2.3以下所有版本(附带全部源码)

    总体来说,这个压缩包为研究 JacORB 以及在特定环境(如 WebLogic 9.2)下使用 CORBA 解决方案的开发者提供了丰富的资源。通过深入研究 JacORB 的源码,可以增强对 CORBA 协议的理解,并可能发现优化现有应用程序的...

    jacORB_demo

    压缩包中的"demo"子文件夹很可能是包含了一系列示例代码,用于演示如何使用JacORB实现分布式对象。这些示例通常会涵盖以下内容: 1. IDL文件的编写:展示了如何用IDL定义接口和服务,以及如何用JacORB的idl2java...

    JacORB规划设计指南(2.3版)

    **JacORB**是一款开放源代码的CORBA实现,它为Java开发者提供了一个强大的分布式对象框架,旨在简化跨网络环境下的对象交互。CORBA(Common Object Request Broker Architecture),即通用对象请求代理体系结构,是...

    corba jacorb 配置

    - **生成源代码**: 在`%JACORB_HOME%\demo\grid\generatedcorba`目录下可以看到生成的源代码。 - **生成类文件**: 类文件会被编译并存放在`%JACORB_HOME%\classes`目录下。 **2.3 运行Name Service** 最后,启动...

    jacorb开发

    尽管原文提到的是在 Linux 环境下安装 JacORB,但这里按照给定的部分内容,主要介绍 Windows 系统下的安装过程。 ##### 2.1 前提条件 - **JacORB 版本**:3.2 - **操作系统**:Windows 7 - **JDK 版本**:1.7 - **...

    JacORB-2.3.0-src.zip

    用户在解压后需要根据提供的文档或README文件来了解如何配置和使用JacORB的源代码,以便在IDE中集成并进行CORBA应用的开发。 使用JacORB-2.3.0-src.zip,开发者可以: 1. 配置MyEclipse或Eclipse,安装JacORB插件,...

    JacORB配置步骤

    ### JacORB配置与应用开发详解 #### 一、概述 JacORB是一款开源的CORBA(Common Object Request Broker Architecture,通用对象请求代理体系结构)实现,主要用于构建分布式应用程序。本文将详细介绍JacORB的配置...

    Jacorb ProgrammingGuide

    这个文件通常命名为 `jacorb.properties`,位于 `JACORB_HOME/etc` 目录下。 - **命令行参数**:可以在启动 JacORB 的时候通过命令行传递配置参数。 - **ORB.init 方法**:在程序中调用 `ORB.init` 方法时可以设置...

    JacORB2.1.zip

    将"JacORB2.1.zip"解压后,其包含的文件应当被适当地放入到Ant的类路径中,通常是放在Ant的`lib`目录下,或者添加到系统的全局类路径中,以便Ant在执行时能够正确地识别和加载JacORB的类。 【标签】"JacORB"和"ant...

    JacORB

    6. **跨平台**:由于是Java实现,JacORB可以在任何支持Java的平台上运行,如Windows、Linux、Unix等。 ** 文件清单解析 ** - `_nsdb_root`:可能是一个命名服务数据库,用于存储CORBA对象的名称和引用。 - `jacorb...

    jacORB 2.3.1 编程指导

    配置jacORB涉及到多个方面,包括属性设置、命令行参数以及ORB初始化参数。其中,属性文件是配置中的关键部分,它可以用来设定各种高级选项,如网络事件日志记录、ORB实现名称和CORBA对象管理等。此外,通过`ORB.init...

    JacORB-2.3.0-bin.zip

    1. **跨平台兼容性**:JacORB设计时考虑了跨平台的兼容性,可以在多种操作系统上运行,包括Windows、Linux、Unix等。 2. **高性能**:JacORB通过优化的编码和高效的协议实现,提供了良好的性能表现,使其在处理大...

    jacorb-2.3.1-bin.zip

    JacORB 2.3.1是该软件的一个特定版本,包含了若干改进和修复,确保了在不同环境下的稳定性和兼容性。这个版本可能包含了一些新特性,性能优化,或者对先前版本已知问题的修复。由于"bin"后缀,我们可以推断这个...

    JacORB编程

    从提供的内容中,我们可以总结出JacORB编程涉及到的关键知识点包括:CORBA标准的Java实现,通过IDL定义分布式对象接口,编写客户端和服务器端代码以及进行对象调用,JacORB的配置和管理,以及如何使用JacORB提供的...

    jacorb学习材料

    - **移植性**:由于其开源性质,JacORB可在各种操作系统上运行,如Windows、Linux、Unix等。 - **扩展性**:支持IIOP(Internet Inter-ORB Protocol)和其他传输协议,如HTTP、TLS/SSL。 ### 3. JacORB的使用步骤 ...

    corba\eclipse中开发corba完整说明(jacORB版).txt

    通过以上步骤,我们不仅能够成功地在Eclipse环境下搭建起基于JacORB的CORBA开发框架,而且也掌握了如何通过配置环境变量、调整脚本参数以及运行测试示例来验证环境的正确性。对于初学者而言,这是一次宝贵的学习经历...

    jacorb2.3.1

    - **跨平台支持**:JacORB支持多种操作系统,包括Windows、Linux、Unix等。 - **兼容性**:与标准的CORBA 2.x和3.x规范兼容,包括GIOP/IIOP协议、IR对象、Portable Object Adapters (POAs) 和 Naming Service。 -...

Global site tag (gtag.js) - Google Analytics