至于怎么通过idl映射成java的部分我就全部跳过了……
这里说一点其他教程上没有写的地方……
1.其他教程上使用的启动方式都是jaco xx.xxx命令
单单使用java xxx.xxx是启动不了的,出现下列异常
com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl <init>
...
org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 201 completed: No
at com.sun.corba.se.impl.logging.ORBUtilSystemException.connectFailure(ORBUtilSystemException.java:2172)
....
那么让我们看看jaco的shell核心代码……
jaco
exec "$JAVA_CMD" \
-Djava.endorsed.dirs=/home/panchenliang/bin/JacORB/lib \
-Djacorb.home="${JACORB_HOME}" \
-Dorg.omg.CORBA.ORBClass=org.jacorb.orb.ORB \
-Dorg.omg.CORBA.ORBSingletonClass=org.jacorb.orb.ORBSingleton \
-classpath "${CLASSPATH}" \
"$@"
无非就是多了几个-d参数,如果客户端是命令行模式的调用的话 还是没什么问题的……
如果客户端类是被动入口的话……那么我们就要在Client.java里作点手脚了……
原先的初始化ORB部分
ORB orb = ORB.init(args, null);
改为(果然阿……Jacorb也有自己的特殊属性,和现在的JBOSS利用JNDI找EJB一模一样的讨厌……)
props.put("org.omg.CORBA.ORBClass", "org.jacorb.orb.ORB");
props.put("org.omg.CORBA.ORBSingletonClass",
"org.jacorb.orb.ORBSingleton");
ORB orb = ORB.init(args, props);
今天晚上2个小时就花在shotting上了= =!手册我也没看的很仔细不知道手册上有没有,完全是靠以前被JBOSS的JNDI折磨的经历联想出来的,没想到成功了……
运行了一下,连接是没问题的,但是出现了新的情况
ERROR : org.omg.CosNaming.NamingContextPackage.NotFound: IDL:omg.org/CosNaming/NamingContext/NotFound:1.0
org.omg.CosNaming.NamingContextPackage.NotFound: IDL:omg.org/CosNaming/NamingContext/NotFound:1.0
at org.omg.CosNaming.NamingContextPackage.NotFoundHelper.read(NotFoundHelper.java:72)
at org.omg.CosNaming._NamingContextExtStub.resolve_str(_NamingContextExtStub.java:165)
at cn.akira.MyClient.main(MyClient.java:34)
看着异常好像说是某个class没找到……自己用眼睛又去确认了一下lib中的jar,的确是有的……
思考并GOOGLE一下- -终于在一篇全洋文的文档里看到了这个是提示没有找到ns_rf的路径……
回忆了一下ns_rf的路径只有在配置文件里jacorb.property才有……很多教程里也强调了要把他放在classes文件夹下
拷贝过来放在自己的src下,再运行了一次并成功了……本来还不理解为什么配置文件里的rf还能用url发布……现在算明白了,根本和wsdl是一个功能的……解释接口……
历时3个小时,手写完了这个HelloWorld……真想把发明JNDI的SB杀了……
分享到:
相关推荐
将"JacORB2.1.zip"解压后,其包含的文件应当被适当地放入到Ant的类路径中,通常是放在Ant的`lib`目录下,或者添加到系统的全局类路径中,以便Ant在执行时能够正确地识别和加载JacORB的类。 【标签】"JacORB"和"ant...
** JacORB 概述 ** JacORB,全称为 Java Object Request Broker,是一个开源的、完全符合CORBA(Common Object Request Broker Architecture)规范的Java ORB(Object Request Broker)。它允许不同计算机上的对象...
总体来说,这个压缩包为研究 JacORB 以及在特定环境(如 WebLogic 9.2)下使用 CORBA 解决方案的开发者提供了丰富的资源。通过深入研究 JacORB 的源码,可以增强对 CORBA 协议的理解,并可能发现优化现有应用程序的...
本文将详细介绍JacORB的配置步骤以及一个简单的Hello World示例,帮助读者理解如何利用JacORB进行CORBA应用程序的开发。 #### 二、JacORB配置步骤 JacORB的应用开发大致分为五个步骤: 1. **编写IDL(Interface ...
**jacorb-3.7 源码版详解** **一、 JacORB 概述** JacORB 是一个开源的 Java Object Request Broker (ORB),它实现了 CORBA(Common Object Request Broker Architecture)标准,允许不同计算机上的分布式对象进行...
CORBA是一种开放的标准,由OMG(对象管理组织)制定,旨在解决不同操作系统、编程语言和网络环境下的分布式系统间的互操作性问题。它定义了一套接口定义语言IDL(Interface Definition Language),用于描述服务接口...
- **多线程支持**: JacORB具有强大的多线程模型,确保在并发环境下高效运行。 - **移植性**:JacORB可在多种Java平台上运行,包括Java SE和Java EE。 **JacORB 2.3的新特性和改进** 尽管具体的2.3版本更新内容未在...
JacORB的安装 添加JACORB_HOME C:\jacorb-2.3.1 修改CLASSPATH为 .;%JAVA_HOME%\jre\lib;%JACORB_HOME%\lib\antlr-2.7.2.jar; %JACORB_HOME%\lib\backport-util-concurrent.jar;%JACORB_HOME%\lib\idl.jar; %JACORB_...
** JacORB 概述 ** JacORB(Java CORBA Object Request Broker)是一个开源的Java对象请求代理实现,它遵循...在企业级应用开发中,尤其是在需要高度可扩展性和灵活性的场景下,JacORB这样的CORBA实现具有重要的价值。
尽管原文提到的是在 Linux 环境下安装 JacORB,但这里按照给定的部分内容,主要介绍 Windows 系统下的安装过程。 ##### 2.1 前提条件 - **JacORB 版本**:3.2 - **操作系统**:Windows 7 - **JDK 版本**:1.7 - **...
** JacORB 2.3.0 知识点详解** JacORB 是一款开源的 CORBA (Common Object Request Broker Architecture) 实现,它为 Java 平台提供了完整的 ORB (Object Request Broker) 功能。ORB 是 CORBA 核心组件,负责在...
【标题】"JacORB-2.3.0-src.zip"是一个包含Java CORBA接口开发工具JacORB 2.3.0版本源代码的压缩包。这个包主要用于在MyEclipse或Eclipse集成开发环境中编译IDL(Interface Definition Language)文件为Java类。 ...
提供jacorb.jar包的下载,中间件corba的jacorb实现jar包
JacORB 2.3.1是该软件的一个特定版本,包含了若干改进和修复,确保了在不同环境下的稳定性和兼容性。这个版本可能包含了一些新特性,性能优化,或者对先前版本已知问题的修复。由于"bin"后缀,我们可以推断这个...
CORBA是一种中间件标准,由OMG(Object Management Group)制定,旨在解决不同操作系统、编程语言和网络环境下的分布式应用程序之间的互操作性问题。它定义了一种标准接口,允许对象像在同一个进程中一样相互调用,...
这个文件通常命名为 `jacorb.properties`,位于 `JACORB_HOME/etc` 目录下。 - **命令行参数**:可以在启动 JacORB 的时候通过命令行传递配置参数。 - **ORB.init 方法**:在程序中调用 `ORB.init` 方法时可以设置...
JacORB是Java语言实现的CORBA(公共对象请求代理架构)标准的开源实现。它为构建分布式对象系统提供了一个强大的中间件框架,允许不同的系统通过网络进行对象间通信。CORBA是OMG(对象管理组织)为了解决不同计算机...
CORBA是一种跨平台的中间件技术,用于构建分布式应用程序,使得不同操作系统、网络环境下的对象能够相互通信。在Java世界中,JacORB提供了与CORBA接口的桥梁,使得Java程序员可以利用CORBA的强大功能。 ### 1. ...
** JacORB3.0官方最近版本 ** **一、 JacORB 概述** JacORB (Java CORBA Bridge) 是一个开源的CORBA(Common Object Request Broker Architecture)实现,专为Java平台设计。它允许Java应用程序与其他支持CORBA...