快速业务通道

Oracle应用服务器实现Java CORBA - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
可以调用JCORBA,大大拓展了JCORBA的应用范围,提高了JCORBA重用性和使用的方便性。为了实例介绍的方便性,我们选择了Java应用程序作为其客户端实例。

客户端Java程序源代码如下:

import oracle.oas.jco.*; import oracle.oas.jndi.*; import oracle.oas.jndi.oas.*; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; import java.util.Hashtable; import javax.naming.*; import myStack.ServerStackRemote; public class StackClient { public static void main(String args[]) { int stackSize; String buf, stackElement; int n = 0; String _host = "localhost"; ServerStackRemote s = null; try { String _urlStr = args[0]; if (_urlStr != null) { URL _contactURL = new URL(_urlStr); _host = _contactURL.getHost(); int _port = _contactURL.getPort(); if (_port != -1) _host = _host + ":" + String.valueOf(_port); } Hashtable _env = new Hashtable(); _env.put(Context.URL_PKG_PREFIXES, "oracle.oas.jndi"); // Initial Context Context _initialContext = new InitialContext(_env); // Lookup String _name = "oas://" + _host + "/myStack/ServerStack"; s = (ServerStackRemote) _initialContext.lookup(_name); System.out.println(); System.out.print("Enter server stack size: "); BufferedReader d = new BufferedReader( new InputStreamReader(System.in)); buf = d.readLine(); stackSize = Integer.parseInt(buf); s.setStackSize(stackSize); System.out.println("---> Server stack size is currently " + s.getStackSize()); for(n = 0;;n++) { System.out.print("Enter stack element (RET to quit): "); stackElement = d.readLine(); if (stackElement.length() == 0) break; s.push(stackElement); } System.out.println("---> Server stack currently has the following " + n + " elements:"); System.out.println(); for (int i = n-1; i >= 0; i--) System.out.println(" " + s.pop()); } // end try catch (myStack.StackException se) { System.out.println("Stack exception occurred."); System.out.println(se); } catch (java.io.IOException ioe) { System.out.println("The following error occurred while trying to read input."); System.out.println(ioe); } catch (NamingException ne) { System.out.print("Communication error: "); System.out.println(ne.getMessage()); ne.printStackTrace(); } finally { if (s != null) s.destroy(); // from JCORemote } System.exit(0); } }

为了使客户端和服务器建立连接,还需将ServerStackRemote.class和StackException.class 复制到 ..\Stack\classes_cnt\myStack目录之下。

编译 StackClient.java 为 StackClient.class,并按第七节的方式产生客户端的JAR文件,JDK命令行如下:

prompt>javac -d ..\Stack\classes_cnt\myStack StackClient.java prompt>cd ..\Stack\classes_cnt prompt>jar cvf client.jar ..\Stack\classes_cnt\myStack\*.class

客户端JAR文件产生完成。

Oracle应用服务器实现Java CORBA(6)

时间:2010-09-22

十一、运行客户端程序调用JCORBA应用

至此,我们终于可以运行我们的JCORBA应用了,命令行如下:

prompt> java StackClient http://appservermachine:port

a

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号