Elipse的CORBA环境建立

2023-10-28 16:18
文章标签 环境 建立 corba elipse

本文主要是介绍Elipse的CORBA环境建立,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Eclipse中corba环境的建立

上章介绍了Corba中idl的词法规则。这里介绍一下corba在eclipse中开发环境的建立:

一:下载corba产品 OpenORB (http://sourceforge.net/projects/openorb/ )里面的内容全下。

类似于:

2,开发工具:Eclipse (这个不必说了吧,是一个公共开发平台,并可做为C、C++、Cobol等语言的开发IDE,十分优良,强烈推荐)我用的是3.1的。3.0的也可以。

3,插件:ORBStudio772package.zip 在(http://homepage2.nifty.com/interpress/ORBstudio/download/ORBStudio772package.zip)下载。

好,工具都有了,开始配置:

二,安装配置步骤

1.解压OpenOrb.rar
2.解压ORBStudio772package.zip里面的插件,到相应的Eclipse插件目录下
3.添加环境变量TCOO_HOME,值为OpenOrb目录的路径
4.启动eclipse
5.在下拉菜单Window的Preferences项里找到ORB Studio--->IDL Compiler--->OpenORB, 在IDL Command栏里,找到OpenOrb安装目录下的OpenORB/bin/idl2java.bat, 在Command Options栏里,填写参数 -d %D%  %F%

#############################################################################

三,开发步骤参考

1.在eclipse里新建项目,Project lauyout 选择Create separate source and output folders
2.给新项目添加Libraries,右键Properites--->Libraries--->Add Library--->User Library

 --->User Libraries...--->New...--->Add JARs...

  找到OpenOrb/OpenORB/lib目录下openorb_orb-1.4.0.jar,openorb_orb_tools-1.4.0.jar
      OpenOrb/OpenORB/lib/endorsed目录下openorb_orb_omg-1.4.0.jar
      OpenOrb/tools/lib目录下launcher.jar,tools-1.4.0.jar
      OpenOrb/tools/lib/目录下所有.jar文件


3.src上右键New--->Other--->CORBA Wizard--->IDL files--->Simple IDL
4.选择IDL文件,右键ORB Menu--->Compile 把生成的MyServer包移动到src目录下
5.src上右键New--->Other--->CORBA Wizard--->Server--->Active object map--->Next

 在弹出的对话框里IDL filename栏选择/{projectName}/src/{IDLname}.idl

   Interface栏选择IDL文件里定义的接口名

   Package栏里填写包名

   Server classname栏里填写服务端类名

 --->Next    在弹出的对话框,选中Create server class:项


6.为生成的服务端类添加未实现的方法,并填写方法体
7.src上右键New--->Other--->CORBA Wizard--->Client--->Simple implementation 在弹出的对话框里IDL filename栏选择/{projectName}/src/{IDLname}.idl

   Interface栏选择IDL文件里定义的接口名

   Package栏里填写包名

   Client classname栏里填写客户端类名


8.在客户端类的main方法里,取消注释test.getORBInterface().operation1("A message in the bottle..."); 并修改传递的String内容
9.运行服务端程序Server_AOM.java,然后运行客户端程序MyServiceClientImpl.java

如果,你要将你的程序包发布到别的机器上,就要用到名称服务,使用名称服务,我们需要在java代码上作些修改:

使用名称空间的配置:


1.找到并注释服务端Server_AOM.java里main方法的下列代码:

 PrintWriter ps = new PrintWriter(new FileOutputStream(new File("server.ior")));
 ps.println(orb.object_to_string(obj));
 ps.close();


 取消下列代码(位置在上面代码的上方)的注释:

 // org.omg.CORBA.Object ncobj = orb.resolve_initial_references("NameService");
 // NamingContextExt nc = NamingContextExtHelper.narrow(ncobj);
 // nc.bind(nc.to_name("MyServerObject"), obj);

 修改bind方法为rebind

 并引入新的类

 

2.找到并注释客户端MyServiceClientImpl.java里main方法的下列代码:

 LineNumberReader input = new LineNumberReader(new FileReader("server.ior"));
 String ior = input.readLine();
 org.omg.CORBA.Object obj = orb.string_to_object(ior);

 取消下列代码(位置在上面代码的上方)的注释:

 // org.omg.CORBA.Object ncobj = orb.resolve_initial_references("NameService");
 // NamingContextExt nc = NamingContextExtHelper.narrow(ncobj);
 // org.omg.CORBA.Object obj = nc.resolve_str("MyServerObject");

 引入新的类

 修改org.omg.CORBA.Object ncobj = orb.resolve_initial_references("NameService");里面的参数,服务端Server_AOM.java也要改。

 改为"corbaloc::1.2@hostname:portNumber/NameService"

 修改resolve_initial_references方法为string_to_object

 修改所有异常为Exception


3.用命令行的方式,在OpenOrb/NamingService/bin目录下执行ins -ORBPort=portNumber


4.带参数 -ORBInitRef NameService=corbaloc::1.2@hostname:portNumber/NameService 运行服务端Server_AOM.java,

  然后运行客户端程序MyServiceClientImpl.java

 

结果是一样的。

目前为止,corba的本地、远程开发都已经配置完毕。以后在具体应用过程中遇到什么困难,欢迎大家一起探讨。

(本配置教程出自同事liwf之手,感谢其孜孜不倦的工作!)

TrackFrom:http://blog.donews.com/chaoyang/archive/2005/09/28/570630.aspx


 

这篇关于Elipse的CORBA环境建立的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/294413

相关文章

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

高并发环境中保持幂等性

在高并发环境中保持幂等性是一项重要的挑战。幂等性指的是无论操作执行多少次,其效果都是相同的。确保操作的幂等性可以避免重复执行带来的副作用。以下是一些保持幂等性的常用方法: 唯一标识符: 请求唯一标识:在每次请求中引入唯一标识符(如 UUID 或者生成的唯一 ID),在处理请求时,系统可以检查这个标识符是否已经处理过,如果是,则忽略重复请求。幂等键(Idempotency Key):客户端在每次

pico2 开发环境搭建-基于ubuntu

pico2 开发环境搭建-基于ubuntu 安装编译工具链下载sdk 和example编译example 安装编译工具链 sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib 注意cmake的版本,需要在3.17 以上 下载sdk 和ex

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用

Go Playground 在线编程环境

For all examples in this and the next chapter, we will use Go Playground. Go Playground represents a web service that can run programs written in Go. It can be opened in a web browser using the follow

建立升序链表

题目1181:遍历链表 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2744 解决:1186 题目描述: 建立一个升序链表并遍历输出。 输入: 输入的每个案例中第一行包括1个整数:n(1<=n<=1000),接下来的一行包括n个整数。 输出: 可能有多组测试数据,对于每组数据, 将n个整数建立升序链表,之后遍历链表并输出。 样例输

沁恒CH32在MounRiver Studio上环境配置以及使用详细教程

目录 1.  RISC-V简介 2.  CPU架构现状 3.  MounRiver Studio软件下载 4.  MounRiver Studio软件安装 5.  MounRiver Studio软件介绍 6.  创建工程 7.  编译代码 1.  RISC-V简介         RISC就是精简指令集计算机(Reduced Instruction SetCom