快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

缅甸云鼎和记娱乐官网:Java CORBA入门



Below is a simple example of a CORBA program

1. produce a idl file like this

hello.idl

module HelloApp {

interface Hello{

string sayHello();

};

};

2. produce stub and skeleton files through idltojava.exe

idltojava hello.idl

idltojava is now named as idlj.exe and is included in the JDK.

3. write a server program like this

// HelloServer.java

import HelloApp.*;

import org.omg.CosNaming.*;

import org.omg.CosNaming.NamingContextPackage.*;

import org.omg.CORBA.*;

import java.io.*;

class HelloServant extends _HelloImplBase

{

public String sayHello()

{

return "\nHello world !!\n";

}

}

public class HelloServer {

public static void main(String args[])

{

try{

// create and initialize the ORB

ORB orb = ORB.init(args, null);

// create servant and register it with the ORB

HelloServant helloRef = new HelloServant();

orb.connect(helloRef);

// get the root naming context

org.omg.CORBA.Object objRef =

orb.resolve_initial_references("NameService");

NamingCont缅甸云鼎和记娱乐官网ext ncRe缅甸云鼎和记娱乐官网f = NamingContextHelper.narrow(objRef);

// bind the Object Reference in Naming

NameComponent nc = new NameComponent("Hello", "");

NameComponent path[] = {nc};

ncRef.rebind(path, helloRef);

// wait for invocations from clients

java.lang.Object sync = new java.lang.Object();

synchronized (sync) {

sync.wait();

}

} catch (Exception e) {

System.err.println("ERROR: " + e);

e.printStackTrace(System.out);

}

}

}

4. write a client program like this

// HelloClient.java

import HelloApp.*;

import org.omg.CosNaming.*;

import org.omg.CORBA.*;

public class HelloClient

{

public static void main(String args[])

{

try{

// create and initialize the ORB

ORB orb = ORB.init(args, null);

// get the root naming context

org.omg.CORBA.Object objRef =

orb.resolve_initial_references("NameService");

NamingContext ncRef = NamingContextHelper.narrow(objRef);

// test

System.out.println("OK..");

// resolve the Object Reference in Naming

NameComponent nc = new NameComponent("Hello", "");

NameComponent path[] = {nc};

Hello helloRef = HelloHelper.narrow(ncRef.resolve(p缅甸云鼎和记娱乐官网ath));

// call the Hello server object and print results

//String oldhello = helloRef.lastMessage();

//System.out.println(oldhello);

String Hello = helloRef.sayHello();

System.out.println(Hello);

} catch (Exception e) {

System.out.prin缅甸云鼎和记娱乐官网tln("ERROR : " + e) ;

e.printStackTrace(System.out);

}

}

}

5. complie缅甸云鼎和记娱乐官网 these files

javac *.java HelloApp/*.java

6. run the application

a. first you've to run the Name Service prior to the others likethis

c:\>tnameserv

b. run server

c:\>java HelloServer

c. run client

c:\>java HelloClient

您可能还会对下面的文章感兴趣: